为Windows构建独立可执行文件
项目描述
py2exe for Python 3
py2exe是一个从Python脚本构建独立Windows可执行程序的软件。py2exe可以构建控制台可执行文件和Windows(GUI)可执行文件。py2exe支持包含在官方开发周期中的Python版本。
《py2exe》的开发托管在此:[https://github.com/py2exe/py2exe](https://github.com/py2exe/py2exe)。
变更
详细的变更日志发布在 [GitHub](https://github.com/py2exe/py2exe/releases/) 上。
版本 0.13.0.2
- 重新引入指定冻结二进制文件不同版本信息的功能
- 修复了
MemoryModule.c:PerformBaseRelocation中的错误 - 修复了运行时 Python 解释器缺失初始化设置的问题
- 添加对
setuptoolsv72 的支持 - 修复了
matplotlib、numpy和scipy钩子 - 修复了使用
setuptoolsv70.0.0 构建的py2exe轮子
版本 0.13.0.1
- 改进了
pkg_resources钩子,以自动检测其供应商内容 matplotlib钩子现在不会自动排除wx- 适配了
matplotlib钩子以支持它们对delvewheel的使用 - 适配了
numpy和pandas钩子以支持新的.libs位置
版本 0.13.0.0
- 添加对 Python 3.11 的支持
- 停止支持 Python 3.7
- 停止支持
win32轮子win32轮子仍然构建和分发,但未经测试。使用这些轮子时遇到的问题将不予调查。更多信息请见 [GitHub 讨论区](https://github.com/py2exe/py2exe/discussions/157)。
- 移除
build_exe命令行界面。请使用py2exe.freezeAPI。
版本 0.12.0.2
- 支持高于 1.9.2 的
scipy版本。 - 修复了
py2exe.freezeAPI 的文档。
版本 0.12.0.1
- 修复了阻止通过已弃用的
setup.pyAPI 构建的问题。
版本 0.12.0.0
- 引入新的
py2exe.freezeAPI。文档可在此找到 [链接](https://github.com/py2exe/py2exe/blob/master/docs/py2exe.freeze.md)。 - 按照 PEP 632 的规定,弃用
setup.py py2exe命令和distutils的使用。这两个接口将在下一个主要版本中删除。有关迁移指南,请见 [链接](https://github.com/py2exe/py2exe/blob/master/docs/migration.md)。 - 添加两个钩子以修复
winrt和passlib的捆绑。
版本 0.11.1.1
- Windows 应用程序的日志文件现在默认存储在
%APPDATA%中 ModuleFinder现在如果所需的模块在excludes中,则抛出明确的错误- 恢复了
pkg_resources钩子的功能 - 用于 Windows 应用的
Stderr.write方法现在返回写入的字节数
版本 0.11.1.0
- 停止支持 Python 3.6
- 在捆绑档案中包含包元数据(例如,由
importlib.metadata使用) - 修复了当捆绑中包含
six时无法使用optimize选项的错误 - 修复了忽略某些包的
optimize标志的错误
版本 0.11.0.1
- 再次显示冻结应用程序中发生的 Tracebacks 的相对路径(#12 和 #114)
版本 0.11.0.0
- 编写了新的模块查找器
mf310,作为 CPythonmodulefinder.ModuleFinder的包装器 - 添加对 Python 3.10 的支持
- 为
scipy添加了新的钩子 zipextimporter现在可以通过其自己的设置脚本构建为独立的扩展
版本 0.10.4.1
ModuleFinder:添加对pkg_resources.extern.VendorImporter加载器的支持- 为
pkg_resources和infi添加了新的钩子
版本 0.10.4.0
zipextimporter现在支持使用多阶段初始化的外部模块(PEP 489)- 为
selenium添加了新的钩子 dllfinder为在 zip 档案中添加数据文件提供了一种新的方法
版本 0.10.3.1
- 为
pycryptodomex添加了新的钩子 ModuleFinder:在import_package中尊重排除列表- 更新后的针对
matplotlib>= 3.4.0 的钩子
版本 0.10.3.0
- 新增针对支持
matplotlib3.2 及更高版本的钩子。 - 根据 PEP420 更新以包含隐式命名空间包的修复。
版本 0.10.2.1
- 更新
MyLoadLibrary以支持使用bundle_files=0的ssl。
版本 0.10.2.0
- 新增支持隐式命名空间包的模块查找器(PEP 420)。
DLLFinder会自动将 VC++ redist 和 Windows CRT DLLs 从捆绑包中排除。- 针对使用
bundle_files<=2捆绑软件的几个修复(仅支持标准库,其他依赖项可能无法正常工作)。 - 新增针对
pycryptodome和shapely的钩子。
版本 0.10.1.0
- 添加对 Python 3.9 的支持。
- 停止支持 Python 3.5。
- 新增针对
urllib3和pandas的钩子。
版本 0.10.0.2(来自 0.9.x 版本)
- 引入与 Python 3.5、3.6、3.7 和 3.8 的兼容性。
- 停止与 Python 3.4 及更早版本的兼容性。
- 新增或更新了针对
certifi、numpy、tkinter、socket、ssl和six的钩子。 build_exe:已删除zipfile=None选项。runtime:在插入可执行捆绑包之前不再修改 Python 解释器 DLL。- 多个错误修复,更好的错误信息。
安装
pip安装py2exe
使用方法
请按照以下文档使用 py2exe.freeze 函数:此处。
使用 setup.py 脚本或构建器
使用 setup.py 脚本与 py2exe 已被弃用。请将您的脚本更新为使用新的 freeze API。此接口将在下一个主要版本中删除。
版本 0.13.0.0 中已删除 build_exe(或 -m py2exe)命令行界面。
已知问题和注意事项
- 缺少用于在捆绑包中嵌入 Qt 插件的高级方法或钩子(由 PySide2/PyQt5 需要)。
- (*) 提供的
win32轮子未经测试。鼓励用户使用win_amd64轮子(参见 #157)。
鸣谢
有关 py2exe 的原始开发和其它使用指南的更多信息,请参阅原始 README。
项目详情
下载文件
下载适合您平台的应用程序。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源代码发行版
本发行版没有可用的源分发文件。请参阅有关生成分发存档的教程。
已构建的分发
py2exe-0.13.0.2-cp311-cp311-win_amd64.whl (155.4 kB 查看哈希值)
py2exe-0.13.0.2-cp311-cp311-win32.whl (147.0 kB 查看哈希值)
py2exe-0.13.0.2-cp310-cp310-win_amd64.whl (155.5 kB 查看哈希值)
py2exe-0.13.0.2-cp310-cp310-win32.whl (147.1 kB 查看哈希值)
py2exe-0.13.0.2-cp39-cp39-win_amd64.whl (155.5 kB 查看哈希值)
py2exe-0.13.0.2-cp39-cp39-win32.whl (147.1 kB 查看哈希值)
py2exe-0.13.0.2-cp38-cp38-win_amd64.whl (155.5 kB 查看哈希值)
py2exe-0.13.0.2-cp38-cp38-win32.whl (147.1 kB 查看哈希值)