Подтвердить что ты не робот

Как сделать python script самоисполняемым

Возможный дубликат:
Вызов python script из командной строки без ввода "python" сначала

Я пробовал

bash$ chmod +x script.py  

не работает. Я также не забываю ставить

#!usr/bin/env python  

в начале script.

bash$ ./script.py  

Не делает ничего, он просто меняет мой курсор на крест lol

ОБНОВЛЕНИЕ. Я исправил

#!/usr/bin/python    

Я также пробовал

chmod a+x script.py   

все еще ничего. Мой script имеет команды импорта и использует sys.argv... Я выполнил инструкцию по этой ссылке (посмотрите на конец страница). Ничего не работает

4b9b3361

Ответ 1

Вот список вещей, которые нужно попробовать в грубом порядке вероятности:

  • Убедитесь, что строка shebang имеет правильный синтаксис (вы уже сделали это, #!/usr/bin/python).
  • Убедитесь, что shebang - первая строка в файле (даже пустая строка или комментарий выше).
  • Убедитесь, что /usr/bin/python существует и работает. Ваш интерпретатор Python может быть установлен в другом месте. Введите /usr/bin/python в командной строке и убедитесь, что запущен Python. Введите which python, если вы не знаете, где он установлен.
  • Если . не находится в вашем PATH (это может быть не так), вы должны запустить script с ./script.py, потому что оболочка не ищет команды в текущем каталоге по умолчанию.
  • Убедитесь, что исполняемый бит установлен на script (+x, проверьте с помощью ls -l).
  • Убедитесь, что в редакторе вы используете только строки LF. Оболочки могут быть разборчивыми, и ваша линия shebang должна заканчиваться только LF, а не CRLF. Это может быть проблемой только в том случае, если вы используете текстовый редактор Windows, но, возможно, стоит проверить.
  • Убедитесь, что ваш текстовый редактор не вставляет в UFF-8 спецификацию в начале файла. Опять же, это возможно только при использовании Notepad в Windows.

Ответ 2

"shebang" должен содержать полный путь к исполняемому файлу. Вы вызываете env, что хорошо, но вы не дали ему полный путь: запустите свой script так:

#!/usr/bin/env python  
# ^