如何从Ubuntu Dash运行Python脚本?

Al *_*art 13 python ubuntu

我已经编写了hello.py(一个基本的“ hello world”程序),并希望能够通过按Win键打开Dash,然后键入脚本名称(或类似名称)来在Ubuntu计算机上快速运行它。对此)。

但是,当我在Dash中键入hello.py时,它将在编辑器中打开文件而不是执行它。我添加了一个shebang行#!/usr/bin/env python3并运行chmod u+x hello.py,它仍然在编辑器中打开文件。

我尝试创建一个将运行Python脚本的hello.sh shell脚本,但是当我在Dash中键入其名称时,shell脚本也会在编辑器中打开。

另外,我尝试按Alt-F2组合键,它会弹出类似Windows的Win-R的字样,但是当我输入python3 hello.py该字词时,它不会弹出显示任何print()输出的终端窗口。

是否可以通过在Dash中键入其名称来运行Python脚本?还是有另一种简单的方法来运行任意Python脚本?本质上,我想要的是类似Windows的运行对话框,当您按下Win-R时会出现该对话框,该对话框可以在系统PATH上运行任何程序。

Ben*_*man 6

(在18.04上测试)在~/.local/share/applications(仅供用户使用)或/usr/share/applications(供所有用户使用)中创建此文件。
文件名必须以.desktop结尾。

[Desktop Entry]
Name=hello.py
Exec=/path/to/hello.py
Type=Application
Categories=GTK;GNOME;Utility;
Run Code Online (Sandbox Code Playgroud)

请注意,该脚本在后台运行,并且除非将日志记录配置到脚本中的文件,否则错误将被吞没。

如果希望它在控制台中运行,则可以执行此操作(不过,脚本退出时控制台将关闭):

[Desktop Entry]
Name=hello.py
Exec=gnome-terminal -- /path/to/hello.py
Type=Application
Categories=GTK;GNOME;Utility;
Run Code Online (Sandbox Code Playgroud)

如果您想要图标,限制其运行的桌面环境等,可以使用更多功能-此处的文档:https : //developer.gnome.org/integration-guide/stable/desktop-files.html.en

假设

  • hello.py由当前用户可执行
  • hello.py有一个有效的shebang
  • 该路径必须是绝对路径(即,不是相对路径,也不要使用诸如〜或变量之类的shell扩展)