【问题标题】:Creating a Windows installer for Python + a set of dependencies为 Python + 一组依赖项创建 Windows 安装程序
【发布时间】:2012-05-19 02:09:17
【问题描述】:

我需要为 Windows 创建一个安装程序,它应该能够安装特定版本的 Python 解释器 (2.7) 以及一组依赖项,例如 ipython、numpy、pandas 等。

基本上,这与 Active State 为他们的 Active Python 发行版所做的相同:一个包含解释器 + deps 的包。

我不是 Windows 用户,我不知道从哪里开始,除非可以查看 NSIS(这有什么帮助吗?)。

【问题讨论】:

  • AFAIK,想法是使用py2execx_freeze 制作可执行文件并使用NSIS 或Inno Setup 制作安装程序。但从未尝试过。
  • py2exe 不是打算通过将特定的 python 应用程序变成 exe 来“冻结”它吗?这里的目标是创建一个捆绑安装程序,包括非常 Python 的 iterpreter + 一组第 3 方模块。
  • 这就是“冻结”所做的,将 python 可执行文件/dll 和使用的模块捆绑在 .exepackage 中。唯一的区别是您实际上并没有在系统范围内安装 python,它不会破坏或失败

标签: python windows installation bundle nsis


【解决方案1】:

我建议使用我也用于构建 Python 版本的打包工具,它位于 Tools/msi/msi.py。在 Python 源代码(或安装)之上解压缩附加依赖项,然后调整 msi.py 以获取您要打包的所有附加文件。您应该调整显示字符串以表明这确实是一个单独的 Python 发行版。

【讨论】:

    【解决方案2】:

    对于 Windows,有 pynsist。它在内部使用 NSIS 并捆绑 Python,因此您不必这样做。它带有有用的examples

    免责声明:我还没有尝试过 pynsist,但很快就会尝试。

    【讨论】:

      【解决方案3】:

      如果你想打包预定版本的 python 和一些依赖项,我建议使用 NSIS 和 AutoIt。

      NSIS 可用于嵌入其他安装程序,但在 python 模块的特定情况下,它们的某些安装程序不能在无人值守模式下使用。为了绕过这个问题,可以使用 AutoIt 来模拟击键。

      有关在 NSIS 中嵌入其他安装程序的更多信息:http://nsis.sourceforge.net/Embedding_other_installers

      AutoIT 网站:http://www.autoitscript.com/site/

      【讨论】:

        猜你喜欢
        • 2014-05-19
        • 1970-01-01
        • 2013-06-29
        • 2020-04-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-23
        • 2012-03-01
        相关资源
        最近更新 更多