我是 Ubuntu 的新手......我正在尝试运行我的第一个简单的 python 程序“Hello World”......在终端中运行以下命令后
1. chmod +x filename.py
2. ./filename.py
终端显示以下错误“ bash: ./filename.py: Permission denied
”我该怎么做才能解决问题?
我是 Ubuntu 的新手......我正在尝试运行我的第一个简单的 python 程序“Hello World”......在终端中运行以下命令后
1. chmod +x filename.py
2. ./filename.py
终端显示以下错误“ bash: ./filename.py: Permission denied
”我该怎么做才能解决问题?
你的 python 文件顶部有适当的咒语吗?例如,
#!/usr/bin/python
(或替代#!/usr/bin/env python
)
只是为了澄清,chmod +x
只使文件可执行,它不会运行它。
而且我假设您的脚本看起来没有比这更复杂的了:
#!/usr/bin/env python
print 'hello world'
一些可能性:
如果你打字,它会说什么umask
? chmod +x
如果您的 umask 不阻止用户可执行位,则只会为您生成可执行文件。像 0022 这样的典型 umask 不会阻塞用户执行位,但像 0122 这样的 umask 可以。(有关详细信息,请参阅描述部分chmod(1)
。)
要执行诸如 Python 脚本之类的脚本,您还需要读取权限。再次尝试chmod u+rx filename.py
执行脚本。
您在文件开头使用“hashbang”行指定的任何解释器(例如#!/usr/bin/env python
)也很可能无法执行,尽管根据我的经验,这会产生不同的错误消息。
我在我的新系统上处理同样的问题。
这是我第三次尝试解决这个问题,你的帖子是第一个出现在谷歌搜索结果中的帖子。我的帖子迟到了,但认为它会帮助其他有同样问题的用户。
就我而言,这是关于分区表设置的。
检查您的 /etc/mtab 文件是如何存储 python 脚本的。检查是否有子句:noexec
noexec是禁止在分区下执行的标志。默认情况下,它使用 exec 设置。但是,有时,这种事情会发生。
现在,它在这里工作正常。