我需要将我的python应用程序,它的依赖项和python打包到一个MSI安装程序中。最终结果应该是:
答案 0 :(得分:25)
关于 how to make a python into an executable这个问题的重复。
归结为:
Windows上的答案 1 :(得分:17)
我使用PyInstaller(svn版本)创建一个包含Python和所有依赖项的程序的独立版本。要让它正常运行并包含所有内容(如py2exe和其他类似程序,请参阅this question)需要一些小小的功能,但它的效果非常好。
然后,您需要创建一个安装程序。 NSIS非常适用于此并且是免费的,但它会创建.exe文件而不是.msi。如果没有必要.msi,我强烈推荐它。否则,请查看this问题的答案以了解其他选项。
答案 2 :(得分:4)
我的公司使用免费的InnoSetup工具。这是一个中等复杂的程序,具有很大的灵活性来构建Windows的安装程序。我相信它会创建.exe而不是.msi文件。 InnoSetup不是特定于python的,但是我们为我们的一个产品创建了一个安装程序,它将python和依赖项安装到用户在安装时指定的位置。
答案 3 :(得分:3)
py2exe将使用python捆绑的Windows可执行文件。
答案 4 :(得分:3)
我使用pyinstaller对依赖项和自定义文件夹结构有了更好的结果,它可以让你找到并指定隐藏的导入和钩子,用于更大的依赖项,比如numpy和scipy。不过也是PITA。
答案 5 :(得分:1)
py2exe是执行此操作的最佳方式。这是一个使用的PITA,但最终结果非常好。
答案 6 :(得分:1)
好的,之前我使用过py2exe,除了一件事以外它完美运行......它只适用于可执行的Windows机器。然后我学习了Jython,它将python脚本转换为.Jar文件。如您所知,可以从任何安装了Java("到最新运行版本")的计算机上执行。这是伟大的因为unix,windows和ios(大多数时候)运行java。这意味着它可以从以下所有机器执行。只要他们运行Java。不需要" py2mac + py2exe + freeze"只是在所有操作系统上运行。只是Jython
有关其工作原理以及如何使用的更多信息,请单击此处。
http://www.jython.org/