Подтвердить что ты не робот

Настройте Python на Windows, чтобы не вводить "python" в cmd

Как мне настроить, чтобы мне не приходилось вводить python script.py, а просто script.py в CMD в Windows?

Я добавил свой каталог python в% PATH%, который содержит файл python.exe, но все же сценарии выполняются неправильно.

Я попробовал это с django-admin.py Запуск django-admin.py startproject mysite дает мне Type 'django-admin.py help <subcommand>' for help on a specific subcommand. Использование python перед ним корректно обрабатывает команду.

В чем проблема?

4b9b3361

Ответ 1

C:\> assoc .py=Python
C:\> ftype Python="C:\python27\python.exe %1 %*"

Или каким бы ни был соответствующий путь - вы также можете установить аргументы командной строки, используя ftype.


Чтобы сделать команду распознаваемой без .py суффикса (.py), аналогично тому, как она работает для файлов .exe, добавьте .py в разделенный PATHEXT список (глобальной) переменной PATHEXT.

ЭТА 2017-07-27

Похоже, что это все еще получает глазные яблоки, хотел поднять полезный комментарий для пользователей Win10 (от @shadowrunner):

Для меня, чтобы заставить его работать под Win10 фактическая команда была (обратите внимание на размещение кавычек):

C:\> ftype Python="c:\Anaconda2\python.exe" "%1" %*

ETA 2019-02-01

Поговорим о вечнозеленых!

Прежде всего, если вы устанавливаете Python заново, я настоятельно рекомендую просмотреть ответ @NunoAndré.

Во-вторых, чтобы уточнить кое-что из недавнего комментария, обратите внимание: вы должны выполнить обе части (assoc и ftype) или использовать ранее существующую метку ассоциации в команде ftype.

По умолчанию, по крайней мере для Python 3.7 под Windows 8.1, ассоциация для .py - это Python.File, поэтому выполнение команды ftype я написал выше, не будет работать правильно, если связь не будет изменена. Или вы можете просто использовать ftype и вместо этого ftype по умолчанию. Вам решать.

Ответ 2

В Python 3.3 включен pyw запуска для Windows: pypyw для приложений с графическим или не-пользовательским интерфейсом)

который помогает в поиске и исполнении различных версий Python. Он позволяет сценариям (или командной строке) указывать предпочтения для конкретной версии Python, а также находит и выполняет эту версию.

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

Установщик Python связывает расширения файлов Python, чтобы open глагол по умолчанию, поэтому вы можете запустить файл python, просто набрав его имя (и аргументы, если необходимо).

Предостережение: помните о различиях между python.exe и pythonw.exe


Помимо прочих преимуществ, средство запуска Windows считывает nix shebangs, поэтому вы можете указать аргументы версии Python или командной строки python.exe

Вы можете проверить это, запустив этот скрипт (предположим, что py3 по умолчанию):

#! /usr/bin/python2.7 -i
import sys
print(sys.version)
  • myscript.py: работает с py, запускает python2.7 и входит в интерактивный режим после завершения (-i, отличный вариант для тестирования и отладки).
  • myscript.py -3: работает с py, запускает python3 и поддерживает интерактивный режим.
  • python myscript.py: запускается со средой исполнения Python по умолчанию, без интерактивного режима.

Вы можете изменить эту ассоциацию по умолчанию с ftype, но я настоятельно рекомендую:

Вы можете легко связать другие глаголы (например, edit, test, debug...) с этими файлами.


Кроме того, вы можете опустить расширения Python для запуска файла в терминале, добавив их в переменную среды PATHEXT упорядоченную по предпочтению. (Вы должны заново открыть терминал, чтобы изменения вступили в силу).

setx PATHEXT %PATHEXT%;.PYC;.PYZ;.PY