自学内容网 自学内容网

银河麒麟系统编写桌面快捷方式执行Python应用

使用PySide6编写视窗Python应用,每次执行应用需要从终端来执行,可能还需要每次切换相应的虚拟环境等,Linux操作系统提供了很简单的创建桌面快捷方式文件方法,通过双击既可以完成,而且隐藏终端窗口。

例如:编写的一个应用所在文件夹:/home/myapps/hntp,主程序文件是hntp下的main.py文件。该应用需要在Anaconda管理的py3117虚拟环境(python=3.11.7)。

如果,使用手动从终端执行main.py步骤如下:

1)打开终端,执行conda activate py3117,进入虚拟环境py3117

2)切换到main.py文件所在的目标:cd /home/liuyf/myapps/hntp

3)调用虚拟环境py3117下的python执行main.py文件:python main.py

创建一个桌面快捷文件,在桌面上双击,即可完成如上的几步。

1)使用文本编辑器创建后缀为.desktop的文件,比如命名为hntp.desktop

2)执行chmod +x hntp.desktop,让hntp.desktop文件可执行。

3)hntp.desktop文件内容如下:

[Desktop Entry]
Version=1.0
Name=人力资源报表
Comment=Run Hntp Python Application
Exec=bash -c "source /home/liuyf/miniconda3/etc/profile.d/conda.sh && conda activate py3117 && cd /home/liuyf/myapps/hntp && python main.py"
Icon=/home/liuyf/myapps/hntp/gui/images/icons/icon.png
Terminal=false  # 设置为false表示不在终端窗口中运行应用
Type=Application
Categories=Utility;Application;

上面的 hntp.desktop文件定义了一个用于启动名为“人力资源报表”的Python应用程序的桌面快捷方式。下面是对这个文件各个部分的解释,以及一些建议来确保它能够正确运行:

  • [Desktop Entry]:这是每个.desktop文件的开头。

  • Version=1.0:指定.desktop文件格式的版本。

  • Name=人力资源报表:设置应用程序的名称,在中文环境中显示为“人力资源报表”。

  • Comment=Run Hntp Python Application:提供关于应用程序功能的简短描述。

  • Exec=bash -c "source /home/liuyf/miniconda3/etc/profile.d/conda.sh && conda activate py3117 && cd /home/liuyf/myapps/hntp && python main.py"

    • 这行命令使用了bash -c来执行一系列命令:
      • source /home/liuyf/miniconda3/etc/profile.d/conda.sh:加载Conda环境配置脚本。
      • conda activate py3117:激活名为py3117的Conda环境。
      • cd /home/liuyf/myapps/hntp:切换到存放应用程序的工作目录。
      • python main.py:运行主程序main.py
  • Icon=/home/liuyf/myapps/hntp/gui/images/icons/icon.png:指定了图标文件的位置。

  • Terminal=false:这表明应用程序不应在终端窗口中运行。如果设为true,则会在新终端窗口中打开应用程序。

  • Type=Application:表明这是一个应用程序类型的条目。

  • Categories=Utility;Application;:将应用程序归类为实用工具和应用类别。这样可以帮助用户通过菜单分类找到你的应用程序。

文件保存位置

把hntp.desktop保存在桌面即可。保存后,在银河麒麟系统下,不用注销或者重新登陆,使用文本编辑器修改.desktop文件即可即时生效。

说明一:

.desktop文件的Exec行中,bash -c "..."被用来执行一系列命令。这里的命令串使用了逻辑与操作符&&来确保每个命令只有在其前面的命令成功执行后才会运行。下面是对这个Exec行的具体分析:

逐条解释
source /home/liuyf/miniconda3/etc/profile.d/conda.sh:
source命令用于在当前shell环境中读取并执行另一个文件中的内容。
/home/liuyf/miniconda3/etc/profile.d/conda.sh是一个脚本文件,它通常包含了初始化conda环境所需的所有设置。
这个脚本可能会设置一些必要的环境变量,并定义conda命令,使得用户可以在shell中直接使用conda。
cd /home/liuyf/myapps/hntp2:
cd是“change directory”的缩写,用于改变当前工作目录。
这里将当前目录改为/home/liuyf/myapps/hntp2,这是你的Python应用程序所在的位置。
确保这个路径是正确的,并且用户有权限访问该目录。
conda activate py3117:
conda activate命令用于激活一个特定的conda环境。
py3117是你要激活的conda环境的名字。
激活环境意味着将环境中的包和依赖项添加到PATH中,以便可以使用这些包。
python main.py:
运行名为main.py的Python脚本。
python是调用Python解释器的命令。
main.py应该位于上一步更改的工作目录/home/liuyf/myapps/hntp2中。
如果你的环境中有多个版本的Python,确保conda activate已经正确设置了环境,这样python命令会指向正确的Python解释器。

说明二:

Icon=/home/liuyf/myapps/hntp2/gui/images/icons/icon.png 这样设置应用图标,icon.png后面不要有空格。


原文地址:https://blog.csdn.net/2303_79232676/article/details/142587252

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!