#!/ usr / bin / env python:找不到命令,拒绝权限

时间:2011-07-16 14:12:48

标签: python pygtk

我位于文件#!/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*

4 个答案:

答案 0 :(得分:6)

克里斯在对这个问题的评论中提出了一个很好的建议,彼得的答案涵盖了如果克里斯的建议不起作用并且你在你的系统上的 sudoer 组中你应该做什么(即如果您可以修改属于您的用户的文件以外的文件)。以下内容可能是您的下一个选择。

在命令shell中,键入:

which python

此命令将告诉您python的工作安装位置。然后你可以相应地修改你的python文件中的shebang行。例如,在我的系统上:

$ which python
/usr/bin/python
因此,我的shebang将是:

#!/usr/bin/python

请注意,这会使您的文件在您的系统上运行,但很可能会使其无法在其他系统上运行...

答案 1 :(得分:1)

似乎最有可能的问题是/ usr / bin / env不可执行。试试sudo chmod 755 /usr/bin/env。当然这不是正常状态,所以有人必须手动设置/ usr / bin / env上的权限。

答案 2 :(得分:0)

基本的python代码发生了什么,例如:

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

print "Hello World !"

问题可能是GTK或其他问题,但问题不在于#!/usr/bin/env python

答案 3 :(得分:0)

在 Windows 10 中:开始按钮 -> “管理应用执行别名” -> 全部关闭

错误原因:当你在cmd中输入“python”时,它打开了微软商店。