我是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不会阻止用户可执行文件位的情况下,才使文件成为可执行文件。典型的umask(例如0022)不会阻止用户执行位,但是umask(例如0122)可以。 (有关更多信息,请参见chmod(1)
的“描述”部分。)
要执行Python脚本之类的脚本,您还需要read权限。尝试chmod(1)
并再次执行脚本。
还有可能远程执行的任何操作都是在文件开头(例如chmod u+rx filename.py
)用“ hashbang”行指定的,但是根据我的经验会产生不同的错误消息。
我在新系统上处理相同的问题。
这是我第三次尝试解决此问题,您的帖子是google结果中出现的第一篇。我的帖子比较晚,但是认为它可以帮助遇到相同问题的其他用户。
就我而言,这是关于分区表设置的。
检查您的/ etc / mtab文件中python脚本的存储方式。检查是否有子句:noexec
noexec是禁止在分区下执行的标志。默认情况下,它使用exec设置。但是,有时这种事情会发生。
现在,在这里工作正常。