对不起,如果这是在错误的网站(也许超级用户),但我想使我的python.py文件可执行文件,所以我可以点击它,它自动执行它的事情,没有我指定它在terminal打开默认提示,我已经有了“chmod + x”作为它的权限。
澄清:
首先,为你想要的文件选择一个文件扩展名。 pyw可能是一个不错的选择。
为文件命名,并在文件浏览器中将该文件类型与python相关联。 在GNOME中,您可以打开其属性窗口,转到打开方式选项卡,然后输入python作为自定义命令。
现在,这里是重要的一部分:你一直在问你的文件是什么,因为它被标记为可执行文件。 使用chmod -x删除可执行位。 现在,当你双击它时,只需要打开相关的程序。
当然,如果你想从命令行运行它,你现在必须明确的启动它,因为它没有被标记为可执行文件。 shebang线已经不再重要了,但是如果别人把它标记为可执行文件并且期望它可以正常工作的话,我会放弃它。
在你的python文件的第一行,添加这个:
#!/usr/bin/env python
所以如果你有:
print "Hello World"
你应该有:
#!/usr/bin/env python print "Hello World"
你把这个放在文件的开头:
#!/usr/bin/python
?
正如其他人所说的那样,你需要在文件的开始处放置“shebang” ,以便说出使用哪个解释器来执行文件。
正如在上面的链接中提到的,最便携的方法是使用env
命令(而不是一个固定的python
路径) – 把它作为文件中的第一行:
#!/usr/bin/env python
shell将在$PATH
查找你的python
,而不是寻找/usr/local/bin/python
然后失败。 这意味着如果Python安装在非标准的位置,它将会工作。
例如:
$ cat example.py print "Test" $ file example.py # it is treated as an ASCII file example.py: ASCII text $ chmod +x example.py $ ./example.py # when executed, it defaults to being executed as a shell script ./example.py: line 1: print: command not found
现在,如果我添加“shebang”行…
$ cat example.py #!/usr/bin/env python print "Test" $ file example.py # it is recognised as a Python script example.py: a python script text executable $ ./example.py # and executes correctly Test