Пытаюсь научиться регулярно запускать свои скрипты через терминал Ubuntu. При этом я знаком с bash
, wget
, и awk
вызывается, но как мне вызвать файлы python для запуска в терминале? Я хотел бы изучить это, но я не уверен, где это исследовать. У меня есть .pyw
файл, который ссылается на несколько .py
файлы в папке.
Вариант 1: Вызовите переводчика
- Для Python 2:
python <filename>.py
- Для Python 3:
python3 <filename>.py
Вариант 2: Пусть скрипт вызовет интерпретатор
- Убедитесь, что в первой строке вашего файла есть
#!/usr/bin/env python
. - Сделайте его исполняемым -
chmod +x <filename>.py
. - И запустите его как
./<filename>.py
Просто префикс имени файла скрипта с python
. Например.:
python filename.py
Также стоит упомянуть, что, добавив -i
флаг после python
, вы можете продолжить свой сеанс для дальнейшего кодирования. Подобный этому:
python -i <file_name.py>
python <filename.py>
Я думаю, что pyw должен работать таким же образом. Вы также можете запустить интерактивную консоль с помощью всего лишь
python
Кроме того, вы можете избежать необходимости явно вызывать python, добавив shebang в верхней части скрипта:
#!/usr/bin/env python
... или любое количество их вариаций
Сначала выполните следующую команду
chmod +x <filename>.py
Затем в верхней части скрипта добавьте #!
и путь к интерпретатору Python:
#!/usr/bin/python
Если вы хотите, чтобы сценарий не зависел от того, где находится интерпретатор Python, вы можете использовать env
программа. Почти все варианты Unix поддерживают следующее, предполагая, что интерпретатор Python находится в каталоге в пользовательском $PATH
:
#! /usr/bin/env python
Изменять каталоги с помощью cd
в каталог, содержащий файл .py, и выполните одну из следующих двух команд:
python <filename>.py # for Python 2.x python3 <filename>.py # for Python 3.x
В качестве альтернативы выполните одну из следующих двух команд:
python /path/to/<filename>.py # for Python 2.x python3 /path/to/<filename>.py # for Python 3.x
Попробуйте использовать команду python3
вместо python
. Если скрипт был написан на Python3, и вы попытаетесь запустить его с помощью Python2, у вас могут возникнуть проблемы. В Ubuntu есть и то, и другое; изменение имени программы на python3
(вместо замены python
) сделал это возможным. Ubuntu нуждается в версии v2.7 (по состоянию на 16.02.2017), поэтому НЕ удаляйте и не удаляйте Python2, а сохраните их оба. Заведите привычку использовать Python3 для запуска скриптов, которые могут запускать либо то, либо другое.
Дифференциальный случай в следующем, потому что исходное название слишком общее, включая его - о запуске скрипта python в терминале для вызова
функции Running python functions from terminal - Stack Overflow