Назад | Перейти на главную страницу

Запуск скриптов Python в Linux

Я пытаюсь запустить сценарии Python с помощью shebang на Ubuntu. Когда я создаю скрипт на Python

    #! /usr/bin/env python
    import sys

... и запустите его, я получаю ошибку оболочки:

    root@host:/home/user# ./test.py
    : No such file or directory

Как заставить его работать?

Решение: Удалите символы '\ r из окончаний строк с помощью dos2unix.

Я предполагаю, что сценарий исполняемый? Также проверьте возврат каретки - может быть, окна попали в его грязные ручонки? Вы можете проверить это с помощью 'cat -vE test.py' и найти '\ r'.

У вас, вероятно, есть окончания строк Windows в вашем файле. Пожалуйста, попробуйте запустить dos2unix в теме.

Попробуйте удалить пробел между #! и / usr / bin / env, хотя я не понимаю, почему это сработает, если не импортировать пакеты ...

Ты конечно что ошибка происходит по той причине, по которой вы думаете? Или вы (позже в сценарии) пытаетесь открыть файл? Начните с простейшего случая, чтобы все заработало ...

hello.py:

#!/usr/bin/env python
print "Hello, world"

затем...

$ chmod +x hello.py
$ ./hello.py
Hello, world
$

Используйте нижний вкладыш, чтобы удалить символы новой строки.

perl -e 's / \ r // g' -w -p -i test.py

или

sed -e "s / ^ M //" test.py> test_new.py