【问题标题】:Having my Python package install shortcuts in Start menu在开始菜单中让我的 Python 包安装快捷方式
【发布时间】:2011-02-13 11:08:07
【问题描述】:

我正在制作一个 Python 包,它使用 setuptools 与 setup.py 文件一起安装。

该软件包包含一个 GUI,当它安装在 Windows 机器上时,我希望安装在开始菜单的“程序”中创建一个文件夹,并在其中创建一个指向 pyw 脚本的快捷方式,该脚本将启动图形用户界面。 (pyw think适用于所有平台,对吧?)

在 Mac 和 Linux 上,我希望将此快捷方式放在与开始菜单平行的任何 Mac 和 Linux 中。

我该怎么做?

【问题讨论】:

  • 顺便说一句,Mac OS X 并没有真正的开始菜单模拟。您可以使用 p2app 将程序打包为 Mac 应用程序(并可选择将其安装在 /Application):svn.pythonmac.org/py2app/py2app/trunk/doc/index.html
  • 关于您的pyw 问题,是的,它是跨平台的。
  • @mipadi:在我的程序开发中使用 py2app 之类的捆绑安装程序还为时过早。我一定会在以后的阶段使用它。我现在希望有一个跨平台的东西。

标签: python installation setuptools


【解决方案1】:

Linux 系统通常不会为可执行应用程序使用 .pyw 扩展名(尽管您可以根据需要使用)。传统上,Linux 上的 python(或 perl、bash 等)脚本没有文件扩展名,具有执行权限,并以“魔术”行“#!/usr/bin/python”开头。“#!”让操作系统知道这是一个需要解释器的脚本,并且以下路径表示要使用的解释器。

至于添加桌面快捷方式,freedesktop.org 提供了现代 Linux 桌面菜单工作方式的规范。具体来说,您最感兴趣的是Desktop Entries 上的那个,尽管Menu Generation 上的那个也可能感兴趣。

【讨论】:

    【解决方案2】:

    InnoSetup 允许您在 Windows 开始菜单中创建快捷方式。您甚至可以添加卸载图标。

    innosetup 文件的相关部分是:

    UninstallDisplayIcon={app}\myico.ico
    [Icons]
    Name: "{group}\MyPrograms"; Filename: "{app}\miexe.exe" ;WorkingDir: "{app}"; Comment: "miexe program"
    

    对于 Mac 和 Linux 我无能为力

    【讨论】:

      【解决方案3】:

      看看 pywin32 的 post-install script 是如何做到的(搜索快捷方式)。不确定 Mac/Linux。

      【讨论】:

        【解决方案4】:

        因为 setuptools 似乎没有提供简单的解决方案,所以我决定放弃这个想法,直到我使用 py2exe/InnoSetup 发布我的应用程序。

        【讨论】:

          【解决方案5】:

          对于 windows,conda 使用 menuinst https://github.com/ContinuumIO/menuinst

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-11-21
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多