Python可执行文件:py2exe或PyInstaller?

时间:2011-06-02 09:50:38

标签: windows python executable

要创建可执行文件(windows)我假设我们应该使用其中一个: Py2exe或PyInstaller。

他们之间有什么区别?

3 个答案:

答案 0 :(得分:58)

Py2exe和PyInstaller都是包装器,但我注意到这里的差异很少,

  1. Py2exe与python2.4 +兼容,包括python3.0& 3.1而PyInstaller目前与python 2.7和3.3-3.5
  2. 兼容
  3. 据我所知,Py2exe不支持签名,而Pyinstaller支持从1.4版本签名
  4. 在PyInstaller中很容易创建一个exe,默认情况下都会创建一堆exes&的DLL。
  5. 在py2exe中,它更容易在exe文件中嵌入清单文件,对于在windows vista及更高版本中以管理员模式运行非常有用。
  6. Pyinstaller是模块化的,具有钩子功能,可以在您喜欢的构建中包含文件。我不知道py2exe中的这个功能。
  7. 希望这有助于您做出决策。

    [更新] - 看起来像PyInstaller一样积极开发(https://github.com/pyinstaller/pyinstaller/)并发布。 py2exe仍在使用sourceforge,它的发布周期在pypi上是非常随机的,2014年之后没有构建,它们的代码也在2017年显示开发(https://sourceforge.net/p/py2exe/svn/HEAD/tree/trunk/py2exe-3/py2exe/)。因此,我建议使用pyinstaller,直到py2exe稳定其发布发布周期,有利于开发人员。

答案 1 :(得分:1)

有一个py2exe分支正在积极开发中,以支持正在进行的Python版本https://github.com/albertosottile/py2exe,当前版本为v0.9.3.2,可与Python 3.7一起使用。

我在一个小项目上使用了它,并且按预期方式工作,生成了一个可运行的可执行文件。从releases page下载正确的版本,并通过<input id="someid" type="button" value="Subscribe" onclick="return VerifyCaptcha();"> <asp:Button ID="cmdSubscribe" Text="Subscribe" runat="server" alternatetext="Subscribe" Style="display: none;"></asp:Button> 安装。

更新2020-11-06:

根据LolPython的评论,此fork现在重定向到官方仓库,请改用它:

https://github.com/py2exe/py2exe

答案 2 :(得分:0)

根据维基百科的消息,py2exe很长时间没有激活:

稳定版本:适用于Python 3的0.9.2.2 /; 2014年10月21日;对于Python 2是0.6.9 /; 2008年11月15日

所以我建议您使用pyinstaller .....

但是现在pyinstaller也遇到了问题The offical website of pyinstaller

  

帮助保持PyInstaller的生命:维护PyInstaller是一项艰巨的工作。只有用户和公司提供可持续的资金,PyInstaller的开发才能继续。有关如何支持PyInstaller的信息,请参见为PyInstaller提供资金。