2013-05-26 3 views
7

Я изначально был закодирован в python IDE на окнах. Теперь, когда я вставил свой код в файл на сервере Linux. Теперь, когда я запускаю сценарий, он дает мне эту ошибку:: плохой интерпретатор: нет такого файла или каталога в python

bad interpreter: No such file or directory

Пожалуйста, сообщите, как устранить эту ошибку.

+0

Не могли бы вы вставить первые несколько строк сценария, по крайней мере? В принципе, было бы полезно посмотреть, что ваш #! line есть. – Jacinda

+0

Также может быть дубликат: http://stackoverflow.com/questions/7434484/python-bad-interpreter-no-such-file-or-directory-when-running-django-admin-p – Jacinda

+0

Возможно, t установить python или нет в пути. – codeScriber

ответ

23

Вероятно, у вас есть \r\n окончаний строк, где \r является возврат каретки и \n является новой строки

Это означает, что первая строка может быть, как это

#!/usr/bin/env python\r\n 

или

#!/usr/bin/python\r\n 

так оболочка пытается запустить команду python\r

+0

Мне неизвестны последние версии sh/bash/dash/ksh, которые ведут себя таким образом. – KingRadical

+0

На самом деле это само ядро, которое обрабатывает это, а не оболочку. И да, это возможность. – Cairnarvon

+2

+1 Я уверен, что это объяснение. – tripleee

6

Возможно, вы используете соглашение о hashbang #!python, которое необъяснимо популярно среди пользователей Windows. Linux ожидает полного пути. Используйте вместо этого #!/usr/bin/python или (предпочтительно) #!/usr/bin/env python.

+0

было бы предпочтительнее в некоторых случаях использовать '#! Python', потому что он берет python из пути - например. для выполнения в контексте «venv». – Blake

Смежные вопросы