如何直接运行Python程序?
如何直接运行Python程序?
我在gedit中创建了一个.py文件(比如mnik.py )。 它在终端运行顺畅。
命令去了
python3 mnik.py
但每当我点击文件时,都会用gedit打开它。 我无法通过点击直接运行它。
该怎么办?
需要做两件事。
- 脚本必须有
#!
告诉操作系统使用哪个解释器。 在您的情况下,代码中的第一行必须是#!/usr/bin/env python3
-
您需要打开文件管理器,转到编辑 – >首选项 – >行为,然后选择如何处理可执行文件
- 最后,确保您的文件本身实际上具有可执行权限集。 在终端中你可以执行
chmod +x /path/to/script.py
并在GUI中,右键单击该文件并更改其属性 – >权限
- 最后,确保您的文件本身实际上具有可执行权限集。 在终端中你可以执行
关于shebang线的注意事项
第一行称为shebang line,必须以#!
开头#!
; 接下来的是将读取您的代码的解释器的名称。 如果你使用的是python3
你可以使用#!/usr/bin/python3
或#!/usr/bin/env python3
来实现可移植性。 如果你没有使用特定于python版本的代码 – 只需使用#!/usr/bin/env python
关于脚本输出的注意事项:
如果您的脚本将输出打印到控制台,则需要具有终端窗口,或者使用GUI对话框(如zenity
。 如果要查看代码,请首选使用Run in Terminal
选项。 如果您希望脚本执行某些操作而不查看控制台输出 – 请使用Run
选项。
此外,如果您有脚本中的命令行参数,例如sys.argv[1]
,则除非打开终端窗口,否则无法设置它们。
您需要将程序的位置放在第一行上执行代码,然后需要通过更改其权限将脚本设置为可执行文件。 这假设您从终端或其他脚本启动应用程序。
找到你的Python安装
$ which python /usr/bin/python
使用#!
将程序位置添加到程序的顶行#!
在前
#!/usr/bin/python # Python code goes here....
将Python脚本设置为具有执行权限
$ chmod 700 test.py
现在您可以直接运行脚本
$ ./test.py
test.py的代码清单
#!/usr/bin/python print "test"
如果你想在不输入python3 mnik.py
情况下运行这个程序,你必须使脚本可执行,并确保使用python3
来运行它。
你可以通过跑步来做第一件事
chmod +x mnik.py
第二步你可以通过添加一个调用python3的shebang行作为脚本的第一行。 在我使用过python3的所有Ubuntu系统上,你可以通过在顶部添加这行来获得python3:
#!/usr/bin/env python3
在这两个更改之后,您可以键入/path/to/mnik.py
或只mnik.py
(后者要求脚本位于PATH中)。
如果您进行这些更改,您可能还需要考虑将mnik.py
重命名为mnik
,这是Python包中使用PyPI发布的命令的常见做法。