Додавання Python Path у Windows 7


138

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

Далі більше, якщо я запускаю команду set у командному рядку, вона перераховує це

python = c:\python27

Але він все ще не розпізнає команду Python.

Читання документації та різних інших джерел, здається, не допомагає.

Редагування: Для подальшого уточнення я додав шлях виконуваного Python до PATH у запиті середовища редагування. Здається, це не працює.


Чи виконується виконуваний файл у цьому каталозі? Чи не є якийсь каталог сміття в цьому?
Аніруд Рамананат

@ anirudh4444 Ні, його в тому каталозі ...
rogerklutz

Ви можете отримати як GUIі Command Lineваріант тут stackoverflow.com/a/38141751/5409601
Rafayet Улла

Хоча для вас не дійсно, за допомогою програми встановлення Windows Python 3.6 (і потенційно більш ранніх версій) ви можете вибрати "Налаштувати" вашу установку, і є прапорець, щоб додати Python до вашого шляху.
paulhauner

Відповіді:


266
  1. Затримайте Winі натисніть Pause.
  2. Клацніть Додаткові параметри системи.
  3. Клацніть Змінні середовища.
  4. Додайте ;C:\python27до Pathзмінної.
  5. Перезавантажте командний рядок.

2
Так, я вже це зробив. Вибачте, якщо я не зробив цього зрозумілішим у первісному запитанні
rogerklutz

11
Переконайтеся, що у ваших змінних python та path немає пробілів.
Йоссі

4
@rogerklutz: Просто переконайтеся, що ви додаєте "; C: \ python27" до змінної PATH, яка вже існує, і не створюєте нову змінну з "C: \ python27" як значення.
wassimans

5
У багатьох випадках вам також доведеться вийти та повернутися після встановлення змінної Path.
dk123

Витримавши подібну проблему, зробив усе, крім кроку 5 ... Дякую, що включив це.
ReiMasuro

112

Встановлюючи екологічні змінні в Windows, я багато разів помилявся. Я подумав, що я повинен поділитися кількома своїми минулими помилками, сподіваючись, що це може комусь допомогти. (Це стосується всіх екологічних змінних, а не лише під час встановлення Python Path)

Слідкуйте за цими можливими помилками:

  1. Вбити та повторно відкрити вікно оболонки: Після внесення змін у ЕКОЛОГІЧНІ змінні вам доведеться перезапустити вікно, на яке ви тестуєте його.
  2. НЕ ПРОСТОРІ при встановленні змінних. Переконайтеся, що ви додаєте ;C:\Python27БЕЗ пробілів. (Загальнодоступним є C:\SomeOther; C:\Python27те, що пробіл (␣) після крапки з комою не в порядку.)
  3. ВИКОРИСТУЙТЕ ЗАПАДНУ РОЗКУ, коли викладете повний шлях. Коли ви намагаєтеся, ви побачите косої риски вперед, echo $PATHале для мене спрацювали лише зворотні косої риски.
  4. НЕ ДОДАЙТЕ остаточну косу рису . Тільки C:\Python27НЕC:\Python27\

Сподіваюся, що це комусь допоможе.


1
Причиною того, що я обрав цю відповідь, є те, що більшість часу PATH розбивається через одну з цих 4 речей. Легка частина робить це правильно, важка частина помічає, коли ви це зробили неправильно!
grettke

1
Команда echo $pathсправедлива лише в тому випадку, якщо ви використовуєте bash оболонку під windows (наприклад, MinGW). Команда швидкого вікна Windowsecho %path%
Брюс Петерсон

2
Я не вважав, що зворотний люфт є проблематичним. Я щось пропускаю?
mystrdat

51

Відкрийте cmd .exe з правами адміністратора (клацніть правою кнопкою миші на додаток). Потім введіть:

setx шлях "% path%; C: \ Python27;"

Пам’ятайте, що закінчується крапкою з двокрапкою та не включайте проділ.


3
+ 1- Це дозволяє вам додавати шлях, не потребуючи привілеїв адміністратора. Однак я не впевнений, що потрібен% шлях%. У моїй системі Windows 7 нові cmd вікна тепер мають дві копії попередніх контурів.
Пол Лінч

32

У мене були проблеми з цим на довгий час. Я додав його на свій шлях усіма способами, про які я міг придумати, але ось, що нарешті для мене спрацювало:

  1. Клацніть правою кнопкою миші на "Мій комп'ютер"
  2. Натисніть "Властивості"
  3. Натисніть «Додаткові параметри системи» на бічній панелі
  4. Натисніть "Змінні середовища"
  5. Клацніть "Нове" нижче системних змінних
  6. в назві введіть pythonexe (або що завгодно)
  7. за значенням введіть шлях до вашого python (приклад:C:\Python32\ )
  8. Тепер відредагуйте змінну Path (у системній частині) та додайте %pythonexe%;до кінця те, що вже є

IDK чому це працює, але це зробило для мене.

то спробуйте ввести "python" у свій командний рядок, і він повинен працювати!


Редагувати:

Останнім часом я використовую цю програму, яка, здається, працює досить добре. Є також такий, який виглядає також досить добре, хоча я ніколи його не пробував.



14

Ви можете встановити шлях з поточного вікна cmd за допомогою PATH =команди. Це додасть його лише для поточного екземпляра cmd. якщо ви хочете додати його постійно, слід додати його до системних змінних. (Комп'ютер> Додаткові параметри системи> Змінні середовища)

Ви б перейшли до свого екземпляра cmd і ввели його PATH=C:/Python27/;%PATH%.


Це рішення працювало для мене на Win7 Pro. Тестували с echo %PATH~%.
Ігор

11

Переконайтеся, що ви не додали пробіл перед новою каталогом.

Добре: старий; старий; старий; новий

Погане: старий; старий; старий; нові


9

Python має невелику утиліту, яка робить саме це . З командного рядка запустіть:

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

Переконайтесь, що ви закрили вікно команд (за exitдопомогою кнопки або кнопку "Закрити") та знову відкрийте її.


1
Як на мене, це змінює реєстр, але жодна програма не вплине, поки ви вручну не підтвердите зміни через діалогове вікно інтерфейсу std. Перезапуск програми не допоможе. Схоже, потрібен і вид трансляції.
Павло Власов

Це працювало для мене на 8.1 і здається легшим, ніж інші підходи. Відкриється вікно / вікно і запитує, що ви хочете запустити. Виберіть Інше, а потім поверніться до c: \ python27 та виберіть виконуваний файл python (.exe). Ефект видається постійним, тому робити це потрібно лише один раз. Вам потрібно запустити win_add2path.py для кожного користувача, але ви не отримаєте вікно після першого разу.
користувач2099484

8

Наступна програма додасть виконуваний шлях 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)

Це зіпсувало мою ПАТУ. Ось виправлена ​​версія (я також видалив Remove_old, що неможливо * отримати право): gist.github.com/anonymous/fb5d176ab91dccbd0ebd * так
Aur Saraf

6

Я знаю, що ця публікація стара, але я хотів би додати, що рішення передбачають адміністративні приватні права. Якщо у вас немає таких, ви можете:

Перейдіть на панель управління, введіть шлях (це зараз Windows 7, так що це у вікні пошуку) та натисніть "Змінити змінні середовища для вашого облікового запису". Тепер ви побачите діалогове вікно "Змінна середовища" із "Користувацькими змінними" вгорі та "Змінні системи" внизу.

Ви можете, як користувач, натиснути верхню кнопку "Створити" та додати:

Назва змінної: PATH
Змінне значення: C: \ Python27

(немає місця пробілів) і натисніть кнопку ОК. Після того, як ваш командний рядок перезапущений, будь-який PATH у змінних користувача додається до кінця системного шляху. Він не замінює PATH іншим способом.

Якщо ви хочете налаштувати певний повний шлях, вам краще створити пакетний файл, як цей маленький:

@echo off
PATH C:\User\Me\Programs\mingw\bin;C:\User\Me\Programs;C:\Windows\system32
title Compiler Environment - %Username%@%Computername%
cmd

Назвіть це "compiler.bat" або що завгодно і двічі клацніть, щоб запустити його. Або посилання на нього. Або закріпіть його тощо ...


6

Потрібно внести зміни до вашої системної змінної
- Клацніть правою кнопкою миші на "Мій комп'ютер"
- Клацніть "Властивості"
- Клацніть "Розширені налаштування системи" на бічній панелі
- Клацніть на змінну середовища - Ви отримаєте два розділи користувача змінна та системна змінна
- У розділі системної змінної шукайте змінну "Шлях", натисніть на редагування та додайте
"C:\Python27;"(без лапок) збережіть її
- Тепер відкрийте командний рядок, натисніть "шлях", введіть, ви побачите, що змінна контуру була змінена
- Тепер введіть python --versionверсію python

І це робиться


5

Для тих, хто намагається досягти цього за допомогою Python 3.3+, інсталятор Windows тепер включає в себе можливість додати python.exe до шляху пошуку системи. Детальніше читайте в документах .


1
Це те, що я використав, тому що у мене виникли проблеми з пошуком точного шляху встановлення. Запустіть інсталятор, натисніть "Змінити", а потім на Додаткові функції, натисніть кнопку Далі, потім поставте прапорець, щоб додати Python до системного шляху та натисніть кнопку Готово.
Ріші

4

Робота зі змінними середовища середовища Windows - це завжди жахливий досвід. Нещодавно я знайшов дивовижний інструмент під назвою Rapid Environment Editor, який дає надзвичайно простий графічний інтерфейс для управління ними.

Якщо ви використовуєте шоколад, ви можете встановити його за допомогою choco install rapidee. В іншому випадку подивіться на http://www.rapidee.com/uk/download

Перечитавши це, це звучить як платний шил, але клянусь, що це не так! Це якраз була однією з найкорисніших утиліт у моєму наборі інструментів, і я дивуюсь, що, здається, ніхто про це не знає.


3

Якщо Python був встановлений з іншою програмою, такою як ArcGIS 10.1 в моєму випадку, ви також повинні включити будь-які додаткові папки, які спрямовують до python.exe у ваші змінні середовища.

Отже, моя змінна середовище виглядає приблизно так:

Системні змінні> Шлях> додати ;C:\Python27\ArcGIS10.1


2

Це питання досить старе, але я просто зіткнувся з подібною проблемою, і моє конкретне рішення тут не було зазначено:

Переконайтеся, що у вашому PATH папки немає, яка не існує.

У моєму випадку я мав купу папок за замовчуванням (Windows, Powershell, Sql Server тощо), а потім користувальницький, C:\binякий я зазвичай використовую, а потім різні інші налаштування, як c:\python17і т. Д. Виявляється, cmd-процесор виявив, що це c:\binне не існує, а потім перестала обробляти решту змінної.

Крім того, я не знаю, що я коли-небудь помітив би це без менеджера PATH . Це добре підкреслило той факт, що цей елемент недійсний.


2

Щойно я встановив Python 3.3 на Windows 7, використовуючи опцію "додати python до PATH".

У змінній PATH інсталятор автоматично додав остаточну зворотну косу рису : C:\Python33\ і тому він не працював у командному рядку (я кілька разів намагався закрити / відкрити рядок)

Я зняв остаточну косу рису, і тоді вона спрацювала:C:\Python33

Дякую Раму Нарасимхану за пораду №4!


2

Я організував подібну змінну середовища python під 64-бітною програмою Win7 за допомогою cmd.

Я встановлюю змінну PYTHONPATHчерез меню змінної середовища windows і додаю %PYTHONPATH%до PATHзмінної:

...;%PYTHONPATH%

Оболонка cmd правильно розширює змінну до цього:

C:\>echo %PYTHONPATH%
C:\python27;c:\python27\lib;C:\python27\scripts

Не забудьте перезапустити cmd оболонку після зміни PATH.


0

напишіть це у своєму командному рядку:

set Path=%path%

Замініть% path% на шлях прикладу папки Python:

set Path=C:/Python27

-2

Якщо ви зірвались, встановивши шлях для python, просто завантажте нову версію python, видаліть стару версію python, і при встановленні нової версії він запитає, чи слід встановити позначку шляху та встановити

це найкращий спосіб

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.