很抱歉,如果这是在错误的网站(也许是超级用户),但我正在尝试使我的python.py文件可执行,所以我可以点击它并自动完成它的事情,我没有指定它在终端打开通过默认提示,我已经拥有'chmod + x'作为其权限。
澄清:
答案 0 :(得分:4)
在python文件的第一行,添加:
#!/usr/bin/env python
所以如果你有:
print "Hello World"
然后你应该:
#!/usr/bin/env python
print "Hello World"
答案 1 :(得分:3)
首先,为您想要拥有此行为的文件选择所需的文件扩展名。 pyw可能是一个不错的选择。
将文件命名为,并在文件浏览器中将该文件类型与python关联。在GNOME中,您将打开其“属性”窗口,转到“打开方式”选项卡,然后输入python作为自定义命令。
现在这里是重要的部分:你一直在问你想要对文件做什么的那个小对话是因为它被标记为可执行文件。使用chmod -x删除可执行位。现在,当您双击它时,只需使用相关程序打开它。
当然,如果你想从命令行运行它,你现在必须明确地用python启动它,因为它没有标记为可执行文件。 shebang系列不再重要,但无论如何我都会留下它,以防其他人将其标记为可执行并希望它能够正常工作。
答案 2 :(得分:1)
http://supervisord.org是更好的选择。
答案 3 :(得分:0)
您是否已将其放在文件的开头:
#!/usr/bin/python
答案 4 :(得分:0)
正如其他人所说,你需要将"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
答案 5 :(得分:0)
我已经安装了蟒蛇,并且
#!/usr/bin/env python
对我不起作用,但是:
#!/home/geoff/miniconda3/bin/python
工作了。因此,请检查您的终端通常使用哪个python与
一起执行.py文件which python
在终端中并将其用作您的爆炸。