我希望通过单击图标在窗口中执行 Python 程序。
这是我自己学习编码和 Ubuntu 的第一天,因此非常感谢您的解释和额外的细节。
我正在使用的代码示例
print("Game Over")
input("\n\nPress the enter key to exit")
在 IDLE 中运行正常,但当我单击 .py 文件图标时,它会打开一个编辑器,而不是程序/窗口
我目前已完成的步骤
- 右键单击.py 文件并将权限设置为“允许作为程序执行文件”
- 我尽可能多地阅读,它似乎在向我提供一些我无法理解的信息。
例子
#!/usr/local/bin/python
#!/usr/bin/env python
CHMOD X
我一点都不懂,也不知道在哪里可以用。
我正在使用 Ubuntu 14.04 和 Python 3
先感谢您。
答案1
尽管您的问题可能由于多种原因而处于边缘位置(太宽泛、偏离主题、每个问题涉及多个主题、处于许多几乎重复的边缘),但我会回答这些问题。
第一个问题:关于“从图标”运行(纯文本)脚本,正如您提到的:
您的脚本是纯文本的,需要在
Idle
终端窗口中运行。这意味着,如果您想通过双击图标来运行它,您需要创建一个.desktop
文件,其中包含定义在终端窗口内运行脚本。顺便说一下,
这些.desktop
文件实际上是 Ubuntu 上安装的所有 GUI 应用程序的一部分。一个非常基本的示例,适合您的脚本:
[Desktop Entry] Name=Test Exec=/home/jacob/Bureaublad/test.py Terminal=true Type=Application
最有趣的几行是:
Exec=/home/jacob/Bureaublad/test.py
其中定义了运行脚本的命令。
有关如何使用 shebang、语言扩展创建命令、脚本是否可执行的更多信息,请参阅这里。以及以下行:
Terminal=true
这说明该脚本需要在终端窗口中运行。
您可以
.desktop
使用图标和更多选项来扩展文件,具体取决于您使用它的具体用途,请参阅这里。如何使用该
.desktop
文件- 将上面的代码粘贴到一个空文件中,另存为。根据我添加的链接
test.desktop
编辑行中的命令,创建运行脚本的命令。Exec=/home/jacob/Bureaublad/test.py
如果您从桌面使用该文件,请使用以下命令使其可执行:
chmod +x /path/to/Test.desktop
或者,您可以将
.desktop
文件复制(移动)到~/.local/share/applications
以使其在 Dash 中可用。全局安装的应用程序将其.desktop
文件存储在 中/usr/share/applications
。在最后两个目录中,无需使.desktop
文件可执行。- 将上面的代码粘贴到一个空文件中,另存为。根据我添加的链接
关于您不理解的示例行
行:
#!/usr/local/bin/python #!/usr/bin/env python
是她怦然心动;脚本的第一行,告诉 shell 如果脚本可执行,则如何运行它,并且您在运行它时无需
python
在脚本路径之前输入。由于您使用了python3
,因此脚本中的 shebang 通常应为:#!/usr/bin/env python3
有关这一点的更多信息,以及 shebang 和命令之间的关系,请参见上面的链接。
CHMOD X (?)
chmod +x
可能就是您的意思。如上所述,您可以使用以下命令使文件可执行:chmod +x /path/to/file
答案2
正如其他人提到的,chmod +x 是使程序可执行所必需的。例如,对于程序 hello.py,您可以在终端中输入以下内容:
$ chmod + x hello.py
现在,不知道以前的版本是否也是如此,但在 Ubuntu 16.04 LTS 中,必须将图标的行为设置为允许单击图标来执行程序。您可以按照以下方式执行此操作:
转到文件浏览器窗口,然后将鼠标光标移动到屏幕顶部并选择编辑>首选项>行为,然后选择“打开时运行可执行文本文件”或“每次询问”。
另外,为了防止终端在程序结束时关闭(例如,如果您想将程序的输出保留在屏幕上的终端上),在 python3.5 中您需要在程序末尾放置此行:
输入()
希望这可以帮助。
答案3
编写一个在命令提示符下运行的.bat 文件。在文件中,只写一行,如:C:/Python/Python38/python.exe c:/MyProject/mainFile.py
其中,C:/Python/Python38/python.exe是Python 3.8,c:/MyProject/mainFile.py是要执行的python脚本文件。
创建 .bat 文件的快捷方式并将其作为图标放在 Windows 屏幕上。就是这样。