我正在制作一个用 setup.py 文件使用设置工具。
setup.py
该软件包包含一个GUI,当它安装在Windows计算机上时,我希望安装程序在“开始”菜单的“程序”中创建一个文件夹,并在其中创建一个指向 pyw 将启动GUI的脚本。(The 小精灵 认为在所有平台上都有效,对吗?)
pyw
小精灵
在Mac和Linux上,我希望它将这个快捷方式放在与“开始”菜单平行的Mac和Linux上。
我该怎么做?
对于Windows,Conda使用 menuinst https://github.com/ContinuumIO/menuinst
menuinst
由于SETUPTOOLS似乎不能提供一个简单的解决方案,所以我决定放弃这个想法,直到我用py2exe/innosetup发布我的应用程序。
看看 post-install script 因为pywin32可以(搜索快捷方式)。不确定Mac/Linux。
InnoSetup 允许您在Windows“开始”菜单中创建快捷方式。您甚至可以添加卸载图标。
InnoSetup文件的相关部分包括:
UninstallDisplayIcon={app}\myico.ico [Icons] Name: "{group}\MyPrograms"; Filename: "{app}\miexe.exe" ;WorkingDir: "{app}"; Comment: "miexe program"
对于Mac和Linux,我无能为力
Linux系统通常不会对可执行应用程序使用.pyw扩展名(如果愿意的话也可以)。传统上,Linux上的python(或perl、bash等)脚本没有文件扩展名,具有执行权限,并且以“magic”行开头。/usr/bin/python。“”!”让操作系统知道这是一个需要解释器的脚本,下面的路径表示要使用的解释器。
关于添加桌面快捷方式, freedesktop.org 宿主现代Linux桌面的菜单工作方式规范。具体来说,你最感兴趣的是 Desktop Entries 尽管那个在 Menu Generation 也可能有兴趣。