#! / usr / bin / env python: команда не найдена, а разрешение отклонено - PullRequest
5 голосов
/ 16 июля 2011

У меня вверху файла #!/usr/bin/env python.Так должно работать, когда я запускаю файл?Но это не так.Это работает, когда я использую python file.py tho

#!/usr/bin/env python

import pygtk
pygtk.require('2.0')
import gtk 

class App1:
  def __init__(self):
    self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
    self.window.show()

  def main(self):
    gtk.main()

if __name__ == "__main__":
  app = App1()
  app.main()

Python Вот что случилось:

jiewmeng@jiewmeng:/labs/projects/learnPython$ app1.py
app1.py: command not found
jiewmeng@jiewmeng:/labs/projects/learnPython$ ./app1.py
bash: ./app1.py: Permission denied
jiewmeng@jiewmeng:/labs/projects/learnPython$ ll
total 12
drwxr-xr-x 2 jiewmeng jiewmeng 4096 2011-07-16 22:08 ./
drwxr-xr-x 4 jiewmeng jiewmeng 4096 2011-07-16 21:45 ../
-rwxrwxr-x 1 jiewmeng jiewmeng  256 2011-07-16 22:05 app1.py*

Ответы [ 3 ]

6 голосов
/ 16 июля 2011

Крис предлагает отличное предложение в комментариях к вопросу, и в ответе Питера описывается, что вам следует делать, если предложение Криса не работает и вы входите в группу sudoer в вашей системе (т.е. Вы можете изменить файлы, кроме тех, которые принадлежат вашему пользователю). Следующим может быть ваш следующий вариант.

В командной оболочке введите:

which python

эта команда скажет вам, где находится ваша рабочая установка python. Затем вы можете соответствующим образом изменить строку shebang в вашем файле python. Например, в моей системе:

$ which python
/usr/bin/python

Таким образом, мой Шебанг будет:

#!/usr/bin/python

Имейте в виду, что это заставит ваш файл работать в вашей системе, но весьма вероятно, что он не сможет работать на других ...

1 голос
/ 16 июля 2011

Кажется, что наиболее вероятная проблема в том, что / usr / bin / env не исполняется вами. Попробуйте sudo chmod 755 /usr/bin/env. Определенно это не нормальное состояние, поэтому кто-то должен вручную распаковать права доступа в /usr/bin/env.

0 голосов
/ 22 июля 2011

Что случилось с базовым кодом Python вроде:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

print "Hello World !"

Может быть, проблема в GTK или другом, но не в #!/usr/bin/env python?

...