Рубрики
Без рубрики

Python Shebangs на окнах

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

Крышка изображения Sven [Public Domain], от Wikimedia Commons

Линии шебанга в дикой природе

В Unix, подобных системам, если вы хотите исполнять файл, вы можете добавить линию на вершину под названием “Shebang” Отказ Они похожи на это:

#!/usr/bin/env bash

echo "Hello, world!"

«Шебанг» – это короткий «хэш -взрыв», который является сленгом для символа фунта/хэша/октотора ( # ), за которым следует восклицательный знак/взрыв ( ! ). Эта линия отвечает за то, что сообщает компьютеру, в котором программа или команда, которая будет использоваться для выполнения этих файлов.

После того, как ваш файл есть Shebang, вы можете сделать файл исполняемым, добавив «Выполнить разрешения», выполненным путем выполнения следующей команды в вашу оболочку Bash:

$ chmod u+x hello.sh

Затем вы можете запустить программу, выполнив его напрямую:

$ ./hello.sh
Hello, world!

Как это работает на окнах

Если вы не используете подсистему Windows Linux или какую-то другую форму портирования Bash в Windows, вы, вероятно, используете PowerShell в качестве оболочки выбора. И, мне никогда не было не удачи с шебангами, работающими на окнах. Я думаю, что это из-за того, как Windows обрабатывает, какие программы имеют дело с какими файлами суффиксов. Тем не менее, начиная с Python 3.3, Python для Windows поставляется с “Python для Windows Launcher” , вызывается из командной строки как просто py Отказ

Вы можете запустить последнюю версию Python, запустив его без аргументов:

$ py

Вы можете выбрать, какую версию вы хотите, указав флаг версии.

$ py -2.7

Если вы не можете найти его или команду не работает, пусковая установка по умолчанию по умолчанию в C: \ Windows \ py.exe Отказ Убеждаться C: \ Windows На вашем пути и файлах Python используйте этот исполняемый файл в качестве их программы по умолчанию.

Это Действительно важный. Если ваша программа по умолчанию для выполнения файлов Python установлена на определенный исполняемый файл Python, вы получите некоторые странные и труднодоступные проблемы. Таким образом, чтобы убедиться, что вы настроены правильно, запустите приложение «Программы по умолчанию» и убедитесь, что файлы Python связаны с C: \ Windows \ py.exe исполняемый и не что-то еще.

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

#!/usr/bin/env python
#!/usr/bin/python
#!/usr/local/bin/python
#!python

Если вы надеетесь сделать ваши сценарии портативными, используйте один из тех, начиная с /usr Отказ Если py Включает любой из них, он будет использовать ваш Python по умолчанию. Если вы укажете версию (Major или Major.Minor), это будет использовать эту версию вместо этого:

#!/usr/bin/env python3
#!/usr/bin/env python2.7

Кроме того, если вы используете это /usr/bin/env python Версия (в отличие от /usr/bin/python или /usr/local/bin/python ), py сделает дополнительный, ожидаемый поиск по вашему Путь Для команды Python так же, как она была бы в системе Unix-подобной системе.

Независимо от Windows не совсем «выполняет разрешения» (исправьте меня, если я ошибаюсь), но, как только у вас есть одна из этих строк в верхней части вашего сценария, вы можете запустить его так же, как исполняемый файл в вашей оболочке.

#!/usr/bin/env python3
# Inside hello.py

print("Hi buddy!")
$ ./hello.py
Hi buddy!

Просто еще одна вещь, чтобы сделать вас немного менее потрясающим для вашей раковины Bash, когда вы находитесь в Windows.

Есть много дополнительной информации о работе с Python в Windows в Документы Python Отказ Я рекомендую вам взглянуть, если вы на окнах, и вам нравится найти способы облегчить свою жизнь.

Спасибо за чтение!

Первоначально опубликовано Assert_not Magic?

Оригинал: “https://dev.to/rpalo/python-shebangs-on-windows-4gpn”