2017-02-10 11 views
2

Я работаю с Python на короткое время и создал несколько программ, я просто настраиваю третью малину Pi с Raspian Jessie. На двух других Pis я не столкнулся с проблемой, но на этом я не могу заставить свой скрипт Python выполнять тот же путь.Выполнить скрипт python

Первая строка файла имеет притон:

#!/usr/bin/env python 

Я GIT клонированный репо и пошел в каталог и сделал:

chmod +x script.py 

, но когда я пытаюсь ./script.py он не работает , На рабочем столе он спрашивает, должен ли файл быть выполнен, и когда я выбираю выполнить в терминале, он закрывается и не выполняет. Я пробовал поставить script.py в

/usr/local/bin 

но это не влияет. Если да, то:

python script.py 

все нормально работает.

Единственное различие между Pis - это первые два безголовых и этот новый имеет среду рабочего стола Pixel.

+0

Что вы видите, если вы запустили '/ usr/bin/env python -V' в своем терминале? –

+0

Я вижу Python 2.7.9 – Scalextrix

+0

Ну, это означает, что 'env' правильно находит ваш исполняемый файл' python'. –

ответ

3

Возможно, вы сделали файл на ПК с Windows, и он был сохранен с DOS-style line endings. Linux-оболочка (bash) не нравится и запутывается при попытке выполнить файл сценария.

Попробуйте преобразовать файл в окончаниях строк UNIX:

dos2unix script.py 

Вам может понадобиться сделать apt-get install dos2unix.

В качестве подсказки вы можете использовать редактор/IDE в Windows, который поддерживает/сохраняет как окончание строк в стиле UNIX, чтобы этого избежать.