如何直接运行Python程序?

如何直接运行Python程序?

我在gedit中创建了一个.py文件(比如mnik.py )。 它在终端运行顺畅。

命令去了

python3 mnik.py 

但每当我点击文件时,都会用gedit打开它。 我无法通过点击直接运行它。

该怎么办?

需要做两件事。

  1. 脚本必须有#! 告诉操作系统使用哪个解释器。 在您的情况下,代码中的第一行必须是#!/usr/bin/env python3
  2. 您需要打开文件管理器,转到编辑 – >首选项 – >行为,然后选择如何处理可执行文件

    在此处输入图像描述

    1. 最后,确保您的文件本身实际上具有可执行权限集。 在终端中你可以执行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发布的命令的常见做法。