如何捆绑包含依赖项的Python应用程序?

Flo*_*sch 51 python packaging tkinter

我需要将我的python应用程序,它的依赖项和python打包到一个MSI安装程序中.最终结果应该是:

  • Python安装在标准位置
  • 包及其依赖项安装在一个单独的目录中(可能是site-packages)
  • 安装目录应该包含未压缩的python,并且不需要独立的可执行文件

pjz*_*pjz 25

关于如何将python变成可执行文件的问题.

归结为:

Windows 上的py2exe,Linux 上的Freeze和Mac 上的 py2app.

  • 不是真的重复.这是特定于包装.那个人还没有线索.但很酷,这是关于py2exe的信息 (3认同)

dF.*_*dF. 18

我使用PyInstaller(svn版本)创建一个包含Python和所有依赖项的程序的独立版本.要让它正常工作并包含所有内容需要一点点小事(就像py2exe和其他类似的程序一样,请看这个问题),但它的工作原理非常好.

然后,您需要创建一个安装程序.NSIS适用于此并且是免费的,但它创建的.exe文件不是.msi.如果没有必要.msi,我强烈推荐它.否则,请查看问题的答案以获取其他选项.


Mik*_*ike 5

我的公司使用免费的 InnoSetup 工具。这是一个中等复杂的程序,在构建 windows 安装程序方面具有很大的灵活性。但是,我相信它会创建 .exe 而不是 .msi 文件。InnoSetup 不是特定于 python 的,但我们为我们的一个产品创建了一个安装程序,该安装程序安装 python 以及对用户在安装时指定的位置的依赖项。