Запуск сценария python на машине ubuntu с использованием ./myscript.py

Извините, я не могу проверить это (я больше не использую sysvinit ), но переключил sysvinit Уровень выполнения , используйте telinit , например telinit 5 - фактически уровень запуска 5 можно запустить, запустив DE. Просто любопытно, а зачем переходить на уровень выполнения 1 (однопользовательский)? Если вам нужен только tty , я думаю, что безопаснее и удобнее работать с уровнем запуска 3 (многопользовательский с сетью).

3
29.04.2018, 15:49
1 ответ

./ — это просто относительный путь, указывающий текущий рабочий каталог. При выполнении файла, которого нет в вашем PATH, необходимо указать перед ним либо полный путь, либо относительный путь, ./— самый простой способ сделать это, но он также будет работать, если вы использовали полный путь. как/path/to/script.py

Причина, по которой ваш скрипт Python получает ошибки при выполнении его как:

./script.py

вместо:

python script.py

это потому, что у вас нет строки интерпретатора hashbang (shebang )вверху, указывающей, какой интерпретатор использовать при выполнении скрипта. Вероятно, он пытается выполнить его с помощью bash или любой другой оболочки, которую вы используете для выполнения сценария. (См. Какой интерпретатор оболочки запускает сценарий без шебанга?)


Чтобы ваш скрипт правильно выполнялся с помощью python, добавьте следующее в первую строку скрипта:

#!/usr/bin/env python
1
27.01.2020, 21:30

Теги

Похожие вопросы