为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 解释器缺失初始化设置的问题
- 添加对
setuptools
v72 的支持 - 修复了
matplotlib
、numpy
和scipy
钩子 - 修复了使用
setuptools
v70.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.freeze
API。
版本 0.12.0.2
- 支持高于 1.9.2 的
scipy
版本。 - 修复了
py2exe.freeze
API 的文档。
版本 0.12.0.1
- 修复了阻止通过已弃用的
setup.py
API 构建的问题。
版本 0.12.0.0
- 引入新的
py2exe.freeze
API。文档可在此找到 [链接](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
- 新增针对支持
matplotlib
3.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 查看哈希值)