Сценарий Python не выполняется после установки разрешения на выполнение

У меня есть сценарий Python

#!/usr/bin/env python

в верхней части моего сценария? Следующее - это разрешение, которое я установил

-rwxr-xr-x 1 user1 user2 6423 Nov 15 15:12 test

Я пытался выполнить сценарий от имени пользователя ./test, но мне было отказано в разрешении?

Когда я сделал

whoami он показывает user1 и umask 0022, user1 имеет bash в качестве оболочки по умолчанию

$python test (работает нормально)

Есть идеи ??

1
задан 15 November 2012 в 14:02

3 ответа

Когда вы упоминаете #!/usr/bin/env python в первой строке, он ищет python из $PATH.

Введите which python и проверьте, добавлен ли путь от выхода к $PATH. Если нет, добавьте его.

  • export PATH="$PATH:/usr/local/bin/python"

Для получения дополнительной информации о настройке переменной PATH см. Эту страницу

0
ответ дан 15 November 2012 в 14:02

Я помню такую ​​проблему, потому что у меня был test.pyc в том же каталоге, и интерпретатор использовал его вместо исходного интерпретируемого (test.py). Может быть, это повод для вас.

0
ответ дан 15 November 2012 в 14:02

Я никогда никогда использую имена как test в качестве моего имени сценария. Аналогично для простых имен, таких как time, date, parser и т. Д., За исключением случаев, когда они находятся в пакете с абсолютным импортом, и даже в этом случае это плохая практика. Слишком вероятно, что эти имена будут мешать либо установленным модулям, либо другим скриптам / пакетам в вашем рабочем каталоге и / или пути.

Вывод: проверьте, нет ли в этом каталоге папки с именем test.

0
ответ дан 15 November 2012 в 14:02

Другие вопросы по тегам:

Похожие вопросы: