Python可执行文件:py2exe还是PyInstaller?

79 投票
3 回答
59241 浏览
提问于 2025-04-16 18:56

要创建可执行文件(在Windows系统上),我想我们应该使用以下其中一个工具:Py2exe或者PyInstaller。

它们之间有什么区别呢?

3 个回答

3

根据维基百科的信息,py2exe已经很久没有更新了:

最新稳定版本:Python 3的版本是0.9.2.2,发布时间是2014年10月21日;Python 2的版本是0.6.9,发布时间是2008年11月15日。

所以我建议使用pyinstaller……

不过现在pyinstaller也遇到了一些问题,这是pyinstaller的官方网站

帮助保持PyInstaller的活力:维护PyInstaller需要大量的工作。如果用户和公司能够提供持续的资金支持,PyInstaller的开发才能继续。想了解如何支持PyInstaller,请查看Funding PyInstaller。

6

有一个叫做py2exe的项目分支正在积极开发,目的是支持最新版本的Python。你可以在这里找到它:https://github.com/albertosottile/py2exe,目前的版本是v0.9.3.2,适用于Python 3.7。

我在一个小项目中使用过它,效果很好,可以生成一个可运行的程序。你可以从发布页面下载合适的版本,然后用pip来安装。

更新于2020-11-06:

根据LolPython的评论,这个分支现在已经重定向到官方的仓库,所以请使用这个链接:

https://github.com/py2exe/py2exe

86

Py2exe和PyInstaller都是用来打包Python程序的工具,但我注意到它们之间有一些不同之处:

  1. Py2exe支持Python 2.4及以上版本,包括Python 3.0和3.1,而PyInstaller目前支持Python 2.7和3.3到3.5。
  2. 据我所知,Py2exe不支持代码签名,而PyInstaller从1.4版本开始就支持这个功能。
  3. 在PyInstaller中,创建一个可执行文件(exe)很简单。默认情况下,这两个工具都会生成一堆exe和dll文件。
  4. 在Py2exe中,将清单文件嵌入到exe中比较容易,这在Windows Vista及以后的版本中,运行程序时以管理员身份非常有用。
  5. PyInstaller是模块化的,具有钩子功能,可以将你想要的文件包含在构建中。我不太清楚Py2exe是否有这个功能。

希望这些信息能帮助你做出决定。

[更新] - 看起来PyInstaller正在积极开发中(https://github.com/pyinstaller/pyinstaller/),并且已经发布了新版本。而Py2exe仍在使用SourceForge,发布周期非常不规律,自2014年以来在pypi上没有新的版本,代码在2017年也有更新(https://sourceforge.net/p/py2exe/svn/HEAD/tree/trunk/py2exe-3/py2exe/)。所以,我建议在Py2exe稳定发布周期之前,使用PyInstaller更好。

撰写回答