Добавление shebang приводит к отсутствию такой ошибки файла или каталога при запуске моего скрипта python - PullRequest
28 голосов
/ 10 февраля 2009

Я пытаюсь запустить скрипт на python. Он отлично работает, когда я его запускаю:

python2.5 myscript.py inpt0

Проблема начинается, когда я добавляю шебанг:

#!/usr/bin/env python2.5

Результат в:

$ myscript.py inpt0
: No such file or directory

Попробуйте 2:

#!/usr/local/bin/python2.5

Результат в:

$ myscript.py inpt0
: bad interpreter: No such file or directoryon2.5

Когда я запускаю их прямо в терминале, они оба прекрасно работают:

$ /usr/local/bin/python2.5
Python 2.5.4 (r254:67916, Feb  9 2009, 12:50:32)
[GCC 3.2.3 20030502 (Red Hat Linux 3.2.3-52)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

$ /usr/bin/env python2.5
Python 2.5.4 (r254:67916, Feb  9 2009, 12:50:32)
[GCC 3.2.3 20030502 (Red Hat Linux 3.2.3-52)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

Есть какие-нибудь советы о том, как заставить это работать с Шебангом?

1 Ответ

60 голосов
/ 10 февраля 2009

У меня были похожие проблемы, и это оказалось проблемой с окончаниями строки. Вы используете окончания строк windows / linux / mac?

Изменить: забыл имя скрипта, но, как говорит OP, это dos2unix <filename>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...