30

Я использую Debian Linux.

Мне было интересно, есть ли способ настроить для запуска всех скриптов Python в терминале, набрав script.py (вместо python script.py).

4 ответа4

50

Есть две вещи, которые вам нужно сделать:

  • Убедитесь, что файл является исполняемым: chmod +x script.py
  • Используйте шебанг, чтобы сообщить ядру, какой интерпретатор использовать. Верхняя строка скрипта должна выглядеть так:

    #!/usr/bin/python
    

    Это предполагает, что ваш скрипт будет работать с питоном по умолчанию. Если вам нужна конкретная версия, просто укажите в shebang:

    #!/usr/bin/python2.7
    

Теперь вы можете ввести:

    ./script.py

если скрипт находится в вашем текущем каталоге, или:

    script.py

если местоположение сценария находится в вашем PATH, или:

    path/to/script.py

иначе.

30

Под Linux вы можете просто использовать hashbang(он же Шебанг). Добавьте строку

#!/usr/bin/python

если вы хотите выполнить интерпретатор Python по умолчанию.

#!/path/to/python[x.x]

использовать какую-то конкретную версию, или

#!/usr/bin/env python

Если вы хотите, чтобы среда нашла для вас Python.

Вам также необходимо сделать исполняемый скрипт

chmod +x script[.py] 
0

Используйте строку shebang вверху вашего скрипта, как показано ниже:

!/ USR / бен / питон

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

!/usr/bin/python3.6

для переводчика по умолчанию

!/ USR / бен / питон

Примечание. Убедитесь, что у скрипта есть разрешение на выполнение.

0

Использование:

#!/usr/bin/env python

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .