如何从 Python 程序制作 EXE 文件? [复制]

Posted

技术标签:

【中文标题】如何从 Python 程序制作 EXE 文件? [复制]【英文标题】:How can I make an EXE file from a Python program? [duplicate] 【发布时间】:2012-02-18 00:10:07 【问题描述】:

我已经使用了几个模块来为 Python 制作 EXE,但我不确定我是否做得对。

我应该怎么做,为什么?请根据个人经验回答,并在必要时提供参考。

【问题讨论】:

见:An executable Python app 看到这个similar question。 还有***.com/questions/5458048/… 为什么这个问题被关闭了,因为它已经回答了这个问题之后提出的问题??? 【参考方案1】:

Auto PY to EXE - 使用 Python 中的 Eel 和 PyInstaller 构建的简单图形界面的 .py 到 .exe 转换器。


py2exe 可能是您想要的,但它仅适用于 Windows。PyInstaller 适用于 Windows 和 Linux。Py2app 适用于 Mac。

【讨论】:

我认为 cx_Freeze cx-freeze.sourceforge.net/cx_Freeze.html 是更好的选择(跨平台)。 Platypus(仅限 Mac)也非常适合从 Python 脚本制作应用程序。 PyInstaller 非常完美,非常简单和快速。 py2exe 无法在 python 3.5 上运行,并且没有获取 .exe 中的所有模块 看来 PyInstaller 还不支持 Python 3.6。 和 py2exe 不支持 3.2 ,它要求 2.7【参考方案2】:

我发现这个演示文稿很有帮助。

How I Distribute Python applications on Windows - py2exe & InnoSetup

来自网站:

有许多部署选项 Python 代码。我会分享有什么 在 Windows 上为我工作得很好, 打包命令行工具和 使用 py2exe 和 InnoSetup 的服务。 我将演示一个简单的构建脚本 它创建 Windows 二进制文件和一个 InnoSetup 安装程序一步到位。在 另外,我会复习一下常见的错误 使用 py2exe 和 对它们进行故障排除的提示。这是 简短的谈话,所以会有一个 后续开放空间环节分享 经验并互相帮助解决 分布问题。

【讨论】:

【参考方案3】:

也称为 Frozen Binaries,但与真正编译器的输出不同 - 它们通过虚拟机 (PVM) 运行字节码。运行与编译程序相同的程序,只是更大,因为程序是与 PVM 一起编译的。 Py2exe 可以冻结使用 tkinter、PMW、wxPython 和 PyGTK GUI 库的独立程序;使用 pygame 游戏编程工具包的程序; win32com 客户端程序;和更多。 Stackless Python 系统是一个标准的 CPython 实现变体,它不会在 C 语言调用堆栈上保存状态。这使得 Python 更容易移植到小型堆栈架构,提供高效的多处理选项,并促进新的编程结构,例如协程。其他正在研究未来开发的系统:Pyrex 正在研究 Cython 系统,Parrot 项目,PyPy 正在完全取代 PVM,当然 Python 的创始人正在与 Google 合作让 Python 运行 5 Unladen Swallow 项目的速度比 C 快几倍。简而言之,py2exe 是最简单的,而 Cython 目前更高效,直到这些项目改进了 Python 虚拟机 (PVM) 以处理独立文件。

【讨论】:

【参考方案4】:

gui2exe 不在 freehackers 名单上,它可用于从 Python 脚本开始构建独立的 Windows 可执行文件、Linux 应用程序和 Mac OS 应用程序包和插件。

【讨论】:

gui2exe在windows操作系统中使用wxpython模块utlis会有一些问题。【参考方案5】:

使用 cx_Freeze 让 exe 成为你的 Python 程序

【讨论】:

【参考方案6】:

py2exe:

py2exe 是一个 Python Distutils 扩展,可将 Python 脚本转换为可执行的 Windows 程序,无需安装 Python 即可运行。

【讨论】:

【参考方案7】:

在FreeHackers.org 上查看 Python 打包工具的简短列表。

【讨论】:

以上是关于如何从 Python 程序制作 EXE 文件? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何将python程序打包为exe

使用 cx_Freeze 将第一个程序制作成 exe 文件

如何将python程序封装成exe可执行文件

如何制作exe程序可执行文件

用Python制作包含数据库的exe文件[重复]

使用 Pyinstaller 制作的 Python Exe 试图从错误的位置找到 dll