Добавление пути Python в Windows 7 - PullRequest
135 голосов
/ 11 июня 2011

Я пытался добавить путь Python в командную строку в Windows 7, но, несмотря на метод, который я пробую, похоже, ничего не работает.Я использовал команду set, я пытался добавить ее с помощью приглашения Изменить переменные среды и т. Д.

Более подробно, если я запускаю команду set в командной строке, в ней выводится

python = c:\python27

Тем не менее, он все еще не распознает команду Python.

Чтение документации и других источников, похоже, не помогло.

Редактировать: Просто чтобы прояснить это, ядобавили путь исполняемого файла Python к PATH в приглашении среды редактирования.Кажется, не работает.

Ответы [ 20 ]

263 голосов
/ 11 июня 2011
  1. Удерживайте Win и нажмите Пауза .
  2. Нажмите Дополнительные параметры системы.
  3. Нажмите Переменные среды.
  4. Добавьте ;C:\python27 к переменной Path.
  5. Перезапустите командную строку.
110 голосов
/ 26 сентября 2012

При настройке переменных среды в Windows я часто ошибался.Я подумал, что должен поделиться некоторыми из моих прошлых ошибок здесь, надеясь, что это может кому-то помочь.(Это относится ко всем переменным среды, а не только к установке Python Path)

Следите за возможными ошибками:

  1. Убейте и снова откройте окно оболочки: как только вы внесете изменение впеременные ОКРУЖАЮЩЕЙ СРЕДЫ, вы должны перезапустить окно, в котором вы его тестируете.
  2. БЕЗ ПРОСТРАНСТВ * при установке переменных.Убедитесь, что вы добавляете ;C:\Python27 БЕЗ пробелов.(Обычно попробуйте C:\SomeOther; C:\Python27 Этот пробел (␣) после точки с запятой не в порядке.)
  3. ИСПОЛЬЗУЙТЕ BACKWARD SLASH при указании полного пути,Вы увидите прямые косые черты, когда попробуете echo $PATH, но у меня сработали только обратные косые черты.
  4. НЕ ДОБАВЛЯЙТЕ окончательную обратную косую черту .Только C:\Python27 НЕ C:\Python27\

Надеюсь, это кому-нибудь поможет.

51 голосов
/ 01 февраля 2013

Открыть cmd .exe с правами администратора (щелкните правой кнопкой мыши приложение).Затем введите:

setx путь "% path%; C: \ Python27;"

Не забудьте закончить точкой с запятой и надписьюне включает косую черту.

32 голосов
/ 19 мая 2012

У меня была проблема с этим в течение длительного времени. Я добавил его на свой путь всеми возможными способами, но вот что в итоге сработало для меня:

  1. Щелкните правой кнопкой мыши на «Мой компьютер»
  2. Нажмите «Свойства»
  3. Нажмите «Расширенные настройки системы» на боковой панели
  4. Нажмите «Переменные среды»
  5. Нажмите «Создать» ниже системных переменных
  6. в имени введите pythonexe (или все, что вы хотите)
  7. в значении введите путь к вашему питону (пример: C:\Python32\)
  8. Теперь отредактируйте переменную Path (в системной части) и добавьте %pythonexe%; в конец того, что уже есть

ИДК, почему это работает, но у меня получилось.

затем попробуйте набрать "python" в командной строке, и это должно сработать!


Edit:

В последнее время я использую эту программу , которая, кажется, работает довольно хорошо. Также есть этот , который тоже выглядит неплохо, хотя я никогда не пробовал.

16 голосов
/ 11 декабря 2012

Попробуйте добавить этот python.bat файл в папку System32, и теперь при запуске python

python.bat

* 1009 в командной строке будет запускаться python*

Источник:

https://github.com/KartikTalwar/dotfiles/blob/master/bat/python.bat

14 голосов
/ 11 июня 2011

Вы можете установить путь из текущего окна cmd с помощью команды PATH =. Это добавит его только для текущего экземпляра cmd. если вы хотите добавить его постоянно, вы должны добавить его в системные переменные. (Компьютер> Расширенные настройки системы> Переменные среды)

Вы должны перейти к своему экземпляру cmd и вставить PATH=C:/Python27/;%PATH%.

11 голосов
/ 18 сентября 2012

Убедитесь, что вы не добавляете пробел перед новым каталогом.

Хорошо: старый; старый; старый; новый

Плохо: старый; старый; старый;новый

9 голосов
/ 09 декабря 2013

Python поставляется с небольшой утилитой, которая делает именно это .Из командной строки запустите:

c:\python27\tools\scripts\win_add2path.py

Убедитесь, что вы закрыли окно командной строки (с помощью exit или кнопку закрытия) и снова откройте его.

8 голосов
/ 12 марта 2013

Следующая программа добавит путь к исполняемому файлу python и сценарии subdir (где, например, установлены pip и easy_install) в вашу среду. Он находит путь к исполняемому файлу python из раздела реестра, связывающего расширение .py. Это удалит старые пути Python в вашей среде. Работает также с XP (и, вероятно, Vista). Он использует только модули, которые поставляются с основным установщиком Windows.

# coding: utf-8

import sys
import os
import time
import _winreg
import ctypes

def find_python():
    """
    retrieves the commandline for .py extensions from the registry
    """
    hKey = _winreg.OpenKey(_winreg.HKEY_CLASSES_ROOT,
                           r'Python.File\shell\open\command')
    # get the default value
    value, typ = _winreg.QueryValueEx (hKey, None)
    program = value.split('"')[1]
    if not program.lower().endswith(r'\python.exe'):
        return None
    return os.path.dirname(program)

def extend_path(pypath, remove=False, verbose=0, remove_old=True,
                script=False):
    """
    extend(pypath) adds pypath to the PATH env. variable as defined in the
    registry, and then notifies applications (e.g. the desktop) of this change.
    !!! Already opened DOS-Command prompts are not updated. !!!
    Newly opened prompts will have the new path (inherited from the 
    updated windows explorer desktop)
    options:
    remove (default unset), remove from PATH instead of extend PATH
    remove_old (default set), removes any (old) python paths first
    script (default unset), try to add/remove the Scripts subdirectory 
        of pypath (pip, easy_install) as well
    """
    _sd = 'Scripts' # scripts subdir
    hKey = _winreg.OpenKey (_winreg.HKEY_LOCAL_MACHINE,
               r'SYSTEM\CurrentControlSet\Control\Session Manager\Environment',
               0, _winreg.KEY_READ | _winreg.KEY_SET_VALUE)

    value, typ = _winreg.QueryValueEx (hKey, "PATH")
    vals = value.split(';')
    assert isinstance(vals, list)
    if not remove and remove_old:
        new_vals = []
        for v in vals:
            pyexe = os.path.join(v, 'python.exe')
            if v != pypath and os.path.exists(pyexe):
                if verbose > 0:
                    print 'removing from PATH:', v
                continue
            if script and v != os.path.join(pypath, _sd) and \
               os.path.exists(v.replace(_sd, pyexe)):
                if verbose > 0:
                    print 'removing from PATH:', v
                continue
            new_vals.append(v)
        vals = new_vals
    if remove:
        try:
            vals.remove(pypath)
        except ValueError:
            if verbose > 0:
                print 'path element', pypath, 'not found'
            return
        if script:
            try:
                vals.remove(os.path.join(pypath, _sd))
            except ValueError:
                pass
            print 'removing from PATH:', pypath
    else:
        if pypath in vals:
            if verbose > 0:
                print 'path element', pypath, 'already in PATH'
            return
        vals.append(pypath)
        if verbose > 1:
            print 'adding to PATH:', pypath
        if script:
            if not pypath + '\\Scripts' in vals:
                vals.append(pypath + '\\Scripts')
            if verbose > 1:
                print 'adding to PATH:', pypath + '\\Scripts'
    _winreg.SetValueEx(hKey, "PATH", 0, typ, ';'.join(vals) )
    _winreg.SetValueEx(hKey, "OLDPATH", 0, typ, value )
    _winreg.FlushKey(hKey)
    # notify other programs
    SendMessage = ctypes.windll.user32.SendMessageW
    HWND_BROADCAST = 0xFFFF
    WM_SETTINGCHANGE = 0x1A
    SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, u'Environment')
    if verbose > 1:
        print 'Do not forget to restart any command prompts'

if __name__ == '__main__':
    remove = '--remove' in sys.argv
    script = '--noscripts' not in sys.argv
    extend_path(find_python(), verbose=2, remove=remove, script=script)
6 голосов
/ 20 февраля 2013

Вам нужно внести изменения в вашу системную переменную
- Щелкните правой кнопкой мыши на «Мой компьютер»
- Нажмите «Свойства»
- Нажмите «Расширенные настройки системы» на боковой панели
- Нажмите на переменную окружения - у вас будет два раздела пользовательской переменной и системной переменной
- В разделе системных переменных найдите переменную «Путь», нажмите «Изменить» и добавьте
"C:\Python27;" (без кавычек) сохранить
- Теперь откройте командную строку типа «путь», нажмите ввод, и вы увидите, что переменная пути была изменена
- Теперь введите python --version вы увидите версию Python

И это сделано

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...