Я использую Debian Linux.
Мне было интересно, есть ли способ настроить для запуска всех скриптов Python в терминале, набрав script.py
(вместо python script.py
).
Я использую Debian Linux.
Мне было интересно, есть ли способ настроить для запуска всех скриптов Python в терминале, набрав script.py
(вместо python script.py
).
Ответы:
Есть две вещи, которые вам нужно сделать:
chmod +x script.py
Используйте шебанг, чтобы сообщить ядру, какой интерпретатор использовать. Верхняя строка скрипта должна выглядеть так:
#!/usr/bin/python
Это предполагает, что ваш скрипт будет работать с питоном по умолчанию. Если вам нужна конкретная версия, просто укажите в shebang:
#!/usr/bin/python2.7
Теперь вы можете ввести:
./script.py
если скрипт находится в вашем текущем каталоге, или:
script.py
если местоположение сценария находится в вашем PATH, или:
path/to/script.py
иначе.
bash
то, что читает файл при выполнении ...
./script.py
, а неscript.py
Под Linux вы можете просто использовать hashbang (он же Шебанг). Добавьте строку
#!/usr/bin/python
если вы хотите выполнить интерпретатор Python по умолчанию.
#!/path/to/python[x.x]
использовать какую-то конкретную версию, или
#!/usr/bin/env python
Если вы хотите, чтобы среда нашла для вас python.
Вам также необходимо сделать исполняемый скрипт
chmod +x script[.py]
Использование:
#!/usr/bin/env python
Это гарантирует, что Python, который пользователь ожидает использовать, будет тем, который запускает скрипт. Это особенно важно, если пользователь использует virtualenv, чтобы иметь конкретную версию python в данной среде.
Используйте строку shebang в верхней части вашего скрипта, как показано ниже:
Обновите соответствующую версию Python, на которой вы хотите выполнить скрипт. Например, для Python 3.6 его
для переводчика по умолчанию
Примечание. Убедитесь, что у скрипта есть разрешение на выполнение.
#!/usr/bin/env python
, если у пользователя есть локальная сборка python (например, in/usr/local/bin
), с которой он предпочел бы запустить скрипт.