Добавление шебанга не вызывает такой ошибки файла или каталога при запуске моего скрипта python

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

python2.5 myscript.py inpt0

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

#!/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.
>>>

Любые подсказки о том, как заставить это работать с shebang?


person Pe2    schedule 10.02.2009    source источник


Ответы (1)


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

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

person kender    schedule 10.02.2009
comment
Если ваш файл имеет кодировку UTF8, убедитесь, что в нем нет BOM. - person RandomSeed; 26.07.2016