使 Python 程序从其图标可执行

str*_*ent 2 icons python executable

我希望通过单击图标在窗口中执行 python 程序。

这是自学和编码类型和 Ubuntu 的第一天,因此我们感谢过度解释和额外的细节。

我正在使用的代码示例

print("Game Over")
input("\n\nPress the enter key to exit")
Run Code Online (Sandbox Code Playgroud)

在 IDLE 中运行正常,但是当我单击 .py 文件图标时,它会打开一个编辑器而不是程序/窗口

到目前为止我已经完成的步骤

  • 右键单击 .py 文件并将权限设置为“允许将文件作为程序执行”
  • 尽可能多地阅读,它似乎将我指向我头顶上的信息。

例子

#!/usr/local/bin/python
#!/usr/bin/env python
CHMOD X
Run Code Online (Sandbox Code Playgroud)

我不理解或不知道在哪里使用。

我正在使用 Ubuntu 14.04 和 Python 3

先感谢您。

Jac*_*ijm 9

尽管您的问题可能因不止一个原因而处于边缘(太宽泛、偏离主题、每个问题不止一个主题、处于许多几乎重复的边缘),但我会回答问题。

第一个问题:关于“从图标”运行(纯文本)脚本,正如您所提到的:

  • 您的脚本是纯文本的,需要在任一Idle或终端窗口中运行。这意味着如果您想通过双击图标来运行它,您需要创建一个.desktop文件,在该文件中定义为在终端窗口内运行脚本。顺便说一下,
    这些.desktop文件实际上是安装在 Ubuntu 上的所有 GUI 应用程序的一部分。

    一个非常基本的例子,适合你的脚本:

    [Desktop Entry]
    Name=Test
    Exec=/home/jacob/Bureaublad/test.py
    Terminal=true
    Type=Application
    
    Run Code Online (Sandbox Code Playgroud)

    最有趣的几行是:

    Exec=/home/jacob/Bureaublad/test.py
    
    Run Code Online (Sandbox Code Playgroud)

    其中定义了运行脚本的命令。
    阅读有关如何创建命令、脚本是否可执行、使用 shebang、语言扩展名的更多信息,请参见此处

    和线:

    Terminal=true
    
    Run Code Online (Sandbox Code Playgroud)

    也就是说脚本需要在终端窗口中运行。

    您可以.desktop使用 ao 图标和更多选项扩展您的文件,具体取决于您使用它的确切用途,请参见此处

  • .desktop文件使用方法

    • 将上面的代码粘贴到一个空文件中,另存为test.desktop. Exec=/home/jacob/Bureaublad/test.py根据我添加的创建命令来运行脚本的链接,编辑该行中的命令。
    • 如果您使用桌面上的文件,请使用以下命令使其可执行:

      chmod +x /path/to/Test.desktop
      
      Run Code Online (Sandbox Code Playgroud)

    或者,您可以将.desktop文件复制(移动)到~/.local/share/applications以使其在 Dash 中可用。全局安装的应用程序将其.desktop文件存储在/usr/share/applications. 在最后两个目录中,不需要使.desktop文件可执行。

关于你不理解的示例行

  • 线路:

    #!/usr/local/bin/python
    #!/usr/bin/env python
    
    Run Code Online (Sandbox Code Playgroud)

    shebangs ; 脚本的第一行,如果脚本是可执行的,则告诉 shell 如何运行它,并且在没有python脚本路径之前运行它。由于您使用python3,脚本中的shebang通常应该是:

    #!/usr/bin/env python3
    
    Run Code Online (Sandbox Code Playgroud)

    更多关于这一点,以及上面链接中shebang和command之间的关系。

  • CHMOD X (?)chmod +x可能就是你的意思。如上所述,您可以使用以下命令使文件可执行:

    chmod +x /path/to/file
    
    Run Code Online (Sandbox Code Playgroud)