Как запустить программу на Python из командной строки в Windows 7?


160

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

Когда я набрал «python» в командной строке, я получил следующую ошибку:

'python' не распознается как внутренняя или внешняя команда, работающая программа или командный файл.

Первое место, которое я нашел при поиске помощи, было на этом сайте: http://docs.python.org/faq/windows.html#how-do-i-run-a-python-program-under-windows .

Это было несколько полезно, но руководство было написано для Windows 2000 и старше, поэтому оно было минимально полезным для моей машины с Windows 7. Я попытался сделать следующее:

Для более старых версий Windows самый простой способ сделать это - отредактировать файл C: \ AUTOEXEC.BAT>. Вы хотите добавить строку, подобную следующей, в AUTOEXEC.BAT:

Этот файл не существовал на моей машине (если я не ошибаюсь).

Затем я попробовал это: (здесь: Как мне запустить программу на Python? )

Ввод Python на вашем пути

Windows

Чтобы запускать программы, ваша операционная система просматривает различные места и пытается сопоставить название программы / команды, которую вы вводили с некоторыми программами на этом пути.

В окнах:

Панель управления> Система> Дополнительно> | Переменные среды | > системные переменные -> путь

это должно включать: C: \ Python26; (или эквивалент). Если вы положите его спереди, то это будет первое место, которое вы искали. Вы также можете добавить его в конце, что, возможно, более разумно.

Затем перезапустите приглашение и попробуйте ввести «python». Если все это работает, вы должны получить приглашение «>>>».

Это было достаточно актуально для Windows 7, и я перешел к системным переменным. Я добавил переменную "python" со значением "C: \ Python27"

Я продолжал получать сообщение об ошибке, даже после перезагрузки компьютера.

Кто-нибудь знает, как это исправить?

Ответы:


229

Вам нужно добавить C:\Python27в вашу системную переменную PATH, а не новую переменную с именем "python".

Найдите системную переменную среды PATH и добавьте к ней ;(которая является разделителем) и путь к каталогу, содержащему python.exe (например C:\Python27). Смотрите ниже точные шаги.

Переменная среды PATH перечисляет все расположения, которые Windows (и cmd.exe) будет проверять, когда ей дается имя команды, например, «python» (она также использует переменную PATHEXT для списка расширений исполняемых файлов, которые нужно попробовать). Первый исполняемый файл, который он находит в PATH с таким именем, является тем, который он запускает.

Обратите внимание, что после изменения этой переменной нет необходимости перезагружать Windows, но только новые экземпляры cmd.exeбудут иметь обновленную переменную PATH. Вы можете ввести set PATHв командной строке, чтобы увидеть текущее значение.


Точные шаги для добавления Python к пути в Windows 7+:

  1. Компьютер -> Свойства системы (или Win+Break) -> Расширенные настройки системы
  2. Нажмите Environment variables...кнопку (на вкладке «Дополнительно»)
  3. Отредактируйте PATH и добавьте ;C:\Python27в конец (замените вашу версию Python)
  4. Нажмите ОК. Обратите внимание, что изменения в PATH отражаются только в командной строке, открытой после изменения.

2
Спасибо за это, собирался бросить мои отбивные Python, прежде чем я даже заработал их. Я уверен, что люди могут понять это, но если вы не помните, если вы загрузите Python 3.4, ваша переменная пути будет C: \ Python34 вместо 27!
boundless08

Еще одна потенциальная проблема для проверки тех, кто следит за вышеупомянутым, и все еще имеет проблему, я видел таинственную двойную кавычку в пути (после C: \ Program Files (x86) \ QuickTime \ QTSystem ";), которая не позволяла команда Python работает. удаление это
добилось цели

Пришлось открыть новую сессию .. Спасибо
Абхи

Вы упомянули "Не забудь висячий \". Могу я спросить, почему это важно?
mhaghighat

@MBA: у меня была косая черта в ответе, и кто-то еще добавил примечание позже. Это было просто для наглядности, совсем не обязательно. Я немного исправил ответ. Спасибо за указание на это!
Кэмерон

66

Предполагая, что у вас установлен Python2.7

  1. Перейти в меню «Пуск»

  2. Правый клик "Компьютер"

  3. Выберите «Свойства»

  4. Должно появиться диалоговое окно со ссылкой слева под названием «Расширенные настройки системы». Нажмите на это.

  5. В диалоговом окне «Свойства системы» нажмите кнопку «Переменные среды».

  6. В диалоговом окне «Переменные среды» найдите «Путь» в окне «Системные переменные».

  7. Добавьте "; C: \ Python27" в конец. Точка с запятой - это разделитель пути в Windows.

  8. Нажмите Ok и закройте диалоги.

  9. Теперь откройте новую командную строку и введите «python»

Он должен работать.


1
Я голосую за вас, потому что у меня была проблема. Я правильно добавил C: \ Python27. С ; после предыдущей переменной. Но я не заметил, что я написал пробел после; , Тогда командная строка не работала. Спасибо, я этого не замечаю. ПРАВИЛЬНО;; C: \ Python27 || НЕПРАВИЛЬНО: ; C: \ Python27
ccsakuweb

34

Мне потребовались некоторые усилия, чтобы найти ответы здесь, в Интернете и в документации по Python, а также самостоятельно провести тестирование, чтобы наконец-то беспрепятственно заставить мои скрипты Python работать на моих машинах с Windows (WinXP и Win7). Итак, я только что написал об этом и вставляю это ниже, на случай, если это будет полезно для других. Извините, это долго, и не стесняйтесь, чтобы улучшить его; Я не эксперт.

[ ОБНОВЛЕНИЕ : Python 3.3 теперь включает в себя Python Launcher для Windows, который позволяет вам вводить py (а не python) для вызова интерпретатора по умолчанию, или py -2, py -3, py -2.7 и т. Д. Он также поддерживает строки shebang , позволяя самому сценарию указать. Для версий, предшествующих 3.3, программа запуска доступна в виде отдельной загрузки. http://docs.python.org/3/whatsnew/3.3.html ]

Удобный запуск скриптов Python под Windows

Может быть, вы создаете свои собственные скрипты Python, или, может быть, кто-то дал вам один скрипт для работы с вашими файлами данных. Допустим, вы приобрели скрипт Python и сохранили его в «D: \ my scripts \ ApplyRE.py». Вы хотите удобно запустить его, дважды щелкнув по нему или введя его в командную строку из любого места, с возможностью передачи ему параметров следующим образом (-o означает «перезаписать выходной файл, если он уже существует»):

ApplyRE infile.txt outfile.txt -o

Скажем, у вас также есть файл данных "C: \ some files \ some lexicon.txt". Самый простой вариант - переместить файл или скрипт так, чтобы они находились в одном месте, но это может запутаться, поэтому давайте предположим, что они останутся отдельными.

Убедитесь, что Windows может найти интерпретатор Python

После установки Python убедитесь, что ввод python в командную строку работает (а затем введите exit (), чтобы вернуться из интерпретатора Python).

C:\>python
Python 3.2 (r32:88445, Feb 20 2011, 21:29:02) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
C:\>

Если это не работает, вам нужно добавить что-то вроде «; C: \ Python32» (без кавычек) в переменную среды PATH. Смотрите PATHEXT ниже для инструкций.

Связывание Python с .py и .pyc

Убедитесь, что двойной щелчок на ApplyRE.py запускает его. (Между прочим, он также должен иметь логотип Python и быть помеченным как «Файл Python».) Если это еще не сделано, щелкните правой кнопкой мыши файл .py, выберите «Открыть с помощью», «Выбрать программу» и проверьте «Всегда использовать ...» Эта связь повышает удобство, но не является строго необходимой - вы можете указывать «python» каждый раз, когда хотите запустить скрипт, например:

D:\my scripts>python ApplyRE.py lexicon-sample.txt -o
Running... Done.

Вот очень специфический вариант, который не является обязательным, если вам не нужно указывать другую версию интерпретатора.

D:\my scripts>c:\python32\python ApplyRE.py lexicon-sample.txt -o
Running... Done.

Но это боль. К счастью, как только Python установлен, в PATH и связан с .py, тогда двойной щелчок по файлу .py или прямой ввод его в виде команды должен работать нормально. Здесь мы, похоже, запускаем скрипт напрямую - приятно и просто запустить его на примере файла, который находится в папке «мои скрипты» вместе со скриптом.

D:\my scripts>ApplyRE.py lexicon-sample.txt -o
Running... Done.

Исключение расширения .py (редактирование PATHEXT)

Чтобы еще больше сократить ввод, вы можете сказать Windows, что .py (и, возможно, файлы .pyc) являются исполняемыми. Для этого щелкните правой кнопкой мыши Компьютер и выберите Свойства, Дополнительно, Переменные среды, Системные переменные. Добавьте «; .PY; .PYC» (без кавычек) к существующей переменной PATHEXT или создайте ее, если вы уверены, что она еще не существует. Закройте и снова откройте командную строку. Теперь вы сможете опустить .py (к вашему сведению, это приведет к запуску ApplyRE.exe или ApplyRE.bat, если таковой существует).

D:\my scripts>ApplyRE lexicon-sample.txt -o
Running... Done.

Добавление скриптов в систему PATH

Если вы собираетесь часто использовать свои сценарии из командной строки (это менее важно, если вы делаете это с помощью файлов BAT), то вы захотите добавить папку своих сценариев в системный PATH. (Рядом с PATHEXT вы должны увидеть переменную PATH; добавьте к ней «; D: \ my scripts» без кавычек.) Таким образом, вы можете запустить скрипт из некоторого другого места для файлов в текущем месте, например так:

C:\some files>ApplyRE "some lexicon.txt" "some lexicon OUT.txt" -o
Running... Done.

Успех! Это почти все, что вам нужно сделать, чтобы оптимизировать командную строку.

Работает напрямую без настройки PATH

Если вы быстро печатаете или не против создания пакетного файла для каждой ситуации, вы можете указать полный путь (для сценария или для параметров) вместо настройки PATH.

C:\some files>"d:\my scripts\ApplyRE.py" "some lexicon.txt" "some lexicon OUT.txt" -o
Running... Done.
C:\some files>d:
D:\>cd "my scripts"
D:\my scripts>ApplyRE.py "c:\some files\some lexicon.txt" "c:\some files\some lexicon OUT.txt" -o
Running... Done.

Создание ярлыков или командных файлов

Если .py связан с установленным Python, вы можете просто дважды щелкнуть ApplyRE.py, чтобы запустить его, но консоль может появляться и исчезать слишком быстро, чтобы прочитать ее вывод (или ошибку!). И чтобы передать параметры, вам нужно сначала выполнить одно из следующих действий. (a) Щелкните правой кнопкой мыши и создайте ярлык. Щелкните правой кнопкой мыши ярлык, чтобы изменить свойства и добавить параметры в Target. (b) Создайте командный файл - простой текстовый файл с другим именем, например ApplyRErun.bat. Этот вариант, вероятно, лучше, потому что вы можете попросить его сделать паузу, чтобы вы могли увидеть результат. Вот пример содержимого файла BAT, написанный для размещения и запуска из файла c: \ some.

python "d:\my scripts\ApplyRE.py" "some lexicon.txt" "some lexicon OUT.txt" -o
pause

Дополнительно: добавление в PYTHONPATH

Обычно в этом нет необходимости, но еще одна переменная среды, которая может иметь значение, - это PYTHONPATH. Если бы мы добавили сценарии d: \ my к этой переменной, то другие сценарии Python в других местах могли бы использовать их через операторы импорта.


1
Ваш ответ объясняет, почему файлы .py магически работают в Windows 7 без префикса python и без строки shebang. Спасибо.
Sabuncu

8

Python поставляется со скриптом, который заботится о настройке файла пути Windows для вас.

После установки откройте командную строку

cmd

Перейдите в каталог, в котором вы установили Python

cd C:\Python27

Запустите python и скрипт win_add2path.py в Инструменты \ Скрипты

python.exe Tools\Scripts\win_add2path.py

Теперь вы можете использовать pythonв качестве команды где угодно.


В Windows 10 cmd выдает ту же ошибку после запуска этого скрипта ( 'python' is not recognized ...). После проверки PATH я заметил, что соответствующие строки действительно были добавлены, но только в «пользовательские переменные», а не в «системные переменные». Я скопировал их вручную в «системные переменные», и тогда это сработало.
Egalth

@Egalth Вы закрыли и открыли новый терминал после запуска сценария добавления перед тестированием Python? Обычно добавление этого в PATH под пользовательскими переменными - это нормально, но для загрузки этого обновленного PATH требуется новая командная строка
печи

Хорошая точка для перезагрузки. Честно говоря, я не помню, пробовал ли я это перед тем, как копировать вручную.
Egalth

7

Вы должны поместить путь Python в PATHпеременную.

В разделе Системные переменные у вас должны быть Пользовательские переменные и Системные переменные. Ищите PATHпеременную и редактируйте ее значение, добавляя в конце ;C:\python27.

Это ;говорит переменной, чтобы добавить новый путь к этому значению, а остальное просто сказать, какой это путь.

С другой стороны, вы можете использовать ;%python%для добавления созданной вами переменной.


3

Вы не добавляете никаких переменных в системные переменные. Вы берете существующую системную переменную Path и изменяете ее, добавляя точку с запятой после, затем c: \ Python27


3

Итак, после 30 минут исследований и разработок я понял, что после настройки PATH в переменной среды

т.е.

"C: \ Python / 27;"

просто перезагрузите

Теперь откройте cmd:

C:> cd Python27 C: \ Python27> python.exe

ИСПОЛЬЗОВАТЬ python.exe с расширением

альтернативный вариант:

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

Спасибо.


3
  • Перейти в меню «Пуск»

  • Правый клик "Компьютер"

  • Выберите «Свойства»

  • Должно появиться диалоговое окно со ссылкой слева под названием «Расширенные настройки системы». Нажмите на это.

  • В диалоговом окне «Свойства системы» нажмите кнопку «Переменные среды».

  • В диалоговом окне «Переменные среды» найдите «Путь» в окне «Системные переменные».

  • Добавьте "; C: \ Python27" в конец. Точка с запятой - это разделитель пути в Windows.

  • Нажмите Ok и закройте диалоги.

  • Теперь откройте новую командную строку и введите «python» или, если вместо «python» написано «тип ошибки», «py»


1
Возможно, вы могли бы добавить какое-то объяснение того, почему OP мог столкнуться с этой проблемой / почему ваш ответ устраняет ее?
CallumDA

3

Даже после прочтения множества постов потребовалось несколько часов, чтобы выяснить проблему. Вот подробный подход, написанный на простом языке для запуска python через командную строку в Windows.

1. Загрузите исполняемый файл с python.org.
Выберите последнюю версию и загрузите установщик исполняемого файла Windows. Запустите загруженный файл и дождитесь завершения установки.

2. Убедитесь, что файл загружен в какую-то папку администратора

  1. Расположение файла поиска приложения Python.
  2. Щелкните правой кнопкой мыши по файлу .exe и перейдите к его свойствам. Проверьте, имеет ли он форму «C: \ Users ....». Если НЕТ, можно перейти к шагу 3. В противном случае клонируйте Python37 или любую другую версию, которую вы скачали, в одно из этих мест: «C: \», «C: \ Program Files», «C: \ Program Files». (x86)».

3. Обновите системную переменную PATH. Это наиболее важный шаг, и для этого есть два способа: - (лучше следовать второму)

1. ВРУЧНУЮ
- найдите «Редактировать системные переменные среды» в строке поиска. (WINDOWS 10)
- В диалоговом окне «Свойства системы» перейдите к «Переменные среды».
- В диалоговом окне «Переменные среды» найдите «Путь» в окне «Системные переменные». (# Убедитесь, что вы щелкнули Путь в нижнем окне с именем Системные переменные, а не в пользовательских переменных)
- Отредактируйте Путь, добавив расположение папки Python37 / PythonXX. Я добавил следующую строку: -
"; C: \ Program Files (x86) \ Python37; C: \ Program Files (x86) \ Python37 \ Scripts"
- Нажмите кнопку ОК и закройте диалоговые окна.

2. SCRIPTED
- Откройте командную строку и перейдите в папку Python37 / XX с помощью команды cd.
- Напишите следующее утверждение: -
"python.exe Tools \ Scripts \ win_add2path.py"

Теперь вы можете использовать python в командной строке :)
1. Использование Shell
Type python в cmd и использовать его.
2. Выполнение файла .py
Введите python filename.py, чтобы выполнить его.


2

сначала убедитесь, что вы вводите переменную окружения пути

C: \ path% path%; C: \ Python27 нажмите Enter

C: \ Python27> python file_name нажмите Enter


2

Просто хочу упомянуть, когда вы делаете:

cd C:\Python27
python Tools\Scripts\win_add2path.py

Переменная PATH в « пользовательских переменных для администратора » изменена.

Но вы также можете следовать ответам других, чтобы открыть:

Система -> Расширенные настройки системы -> Дополнительно -> Переменные среды,

и измените / добавьте переменную Path в « Системные переменные », добавьте ;C:\Python27в конце.


1

в powershell введите следующее:

[Environment]::SetEnvironmentVariable("Path", "$env:Path;C:\Python27", "User")

закройте и откройте PowerShell и попробуйте снова. это должно решить вашу проблему.


Это единственное рабочее решение. Все остальные модифицировали переменную env другого пользователя Path. Спасибо чувак.
Юрий Позняк

0

Вам нужно отредактировать переменную среды с именем PATHи добавить ;c:\python27в конец этого. Точка с запятой отделяет одно имя пути от другого (у вас уже будет несколько вещей в вашем PATH).

Вы также можете просто набрать

c:\python27\python

в командной строке без необходимости изменения каких-либо переменных среды.


0

В Windows вы используете C:\Python27\python.exeвместо python.

Если вы добавите C:\Python27к своему пути, вы можете сократить его до просто python.exe, но вам не нужно это делать.



0

Сначала установите Python в свои окна, используя этот URL, а затем добавьте переменную пути как

c:\python27


0

Я также нашел ту же проблему, хотя я добавил путь в переменной среды. Наконец, я поместил свой «C: \ Python27» в ПЕРЕДНУЮ часть «PATH» в переменной окружения, и после перезапуска cmd это работает !!! Я надеюсь, что это может помочь.


0

Для пользователей Windows 10 и Python 3.5.1:

При установке Python в Windows 10, пожалуйста, не забудьте проверить опцию «Добавить в cmd», прежде чем нажимать «Установить». Это поможет легко получить доступ к Python из cmd.

Если опция не была отмечена, используйте команду Set Path в cmd, чтобы увидеть, доступен ли он как исполняемый файл или нет. Если нет, перейдите к «Пуск» >> «Панель управления» >> «Система и безопасность» >> «Система» >> «Дополнительные параметры системы» >> «Дополнительно»> «Переменные среды». >> Выберите «ПУТЬ» из «Системные переменные» и измените его. Затем скопируйте «C: \ Python35 \ cmd» в новой строке. После этого, пожалуйста, добавьте .PY к PATHEXT в той же процедуре.

Также проверьте, если Пуск >> Панель управления >> Система и безопасность >> Система >> Расширенные настройки системы >> Дополнительно >> Переменные среды .. >> Пользовательские переменные из имени пользователя >> PATH содержит эти две строки - «C: \». Users \ Имя пользователя \ AppData \ Local \ Programs \ Python \ Python35-32 \ Scripts \ "&" C: \ Users \ Имя пользователя \ AppData \ Local \ Programs \ Python \ Python35-32 \ ". В противном случае, пожалуйста, добавьте их вручную.

Ссылка: https://docs.python.org/3/using/windows.html


0

Перейти в меню «Пуск». Щелкните правой кнопкой мыши «Компьютер». Выберите «Свойства». Появится диалоговое окно со ссылкой слева, которая называется «Дополнительные параметры системы». Нажмите на это. В диалоговом окне «Свойства системы» нажмите кнопку «Переменные среды». В диалоговом окне «Переменные среды» найдите «Путь» в окне «Системные переменные». Добавьте "; C: \ Python27" в конец. Точка с запятой - это разделитель пути в Windows. Нажмите Ok и закройте диалоги. Теперь откройте новую командную строку и введите «python»

Если проблема не устранена, введите в командной строке «py» вместо «python». может помочь!!!!


0

нажмите кнопку запуска, затем введите cmd. - Обратите внимание, что вам нужно будет запустить командную строку как «Adminstrator».

напишите, setx -m path "%path%;C:\Python27"затем нажмите ввод.

[здесь -mдля предоставления доступа всем пользователям, а в Python2727 - версия 2.7]

%path%;предотвратит уничтожение исходного значения. C: \ Python27 будет добавлен к текущему Pathзначению.

это все, вы сделали.


Это удалило все мои предыдущие переменные пути ... теперь даже я не могу запустить что-либо на моем компьютере
shridutt kothari

0

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

  1. Ищи python.exe файл, найдите родительскую папку.
  2. Скопируйте путь к папке, например, в котором находятся установочные файлы Python
  3. Теперь перейдите к панели управления-расширенные настройки системы-переменные среды
  4. Переменная «Найти путь» вставьте сюда скопированный путь к папке и добавьте;
  5. Теперь все готово для выполнения goto cmd type, pythonвы должны увидеть детали версии

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.