跳转到主要内容

为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 的支持
  • 修复了 matplotlibnumpyscipy 钩子
  • 修复了使用 setuptools v70.0.0 构建的 py2exe 轮子

版本 0.13.0.1

  • 改进了 pkg_resources 钩子,以自动检测其供应商内容
  • matplotlib 钩子现在不会自动排除 wx
  • 适配了 matplotlib 钩子以支持它们对 delvewheel 的使用
  • 适配了 numpypandas 钩子以支持新的 .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)。
  • 添加两个钩子以修复 winrtpasslib 的捆绑。

版本 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,作为 CPython modulefinder.ModuleFinder 的包装器
  • 添加对 Python 3.10 的支持
  • scipy 添加了新的钩子
  • zipextimporter 现在可以通过其自己的设置脚本构建为独立的扩展

版本 0.10.4.1

  • ModuleFinder:添加对 pkg_resources.extern.VendorImporter 加载器的支持
  • pkg_resourcesinfi 添加了新的钩子

版本 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=0ssl

版本 0.10.2.0

  • 新增支持隐式命名空间包的模块查找器(PEP 420)。
  • DLLFinder 会自动将 VC++ redist 和 Windows CRT DLLs 从捆绑包中排除。
  • 针对使用 bundle_files<=2 捆绑软件的几个修复(仅支持标准库,其他依赖项可能无法正常工作)。
  • 新增针对 pycryptodomeshapely 的钩子。

版本 0.10.1.0

  • 添加对 Python 3.9 的支持。
  • 停止支持 Python 3.5。
  • 新增针对 urllib3pandas 的钩子。

版本 0.10.0.2(来自 0.9.x 版本)

  • 引入与 Python 3.5、3.6、3.7 和 3.8 的兼容性。
  • 停止与 Python 3.4 及更早版本的兼容性。
  • 新增或更新了针对 certifinumpytkintersocketsslsix 的钩子。
  • 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 查看哈希值)

上传时间 CPython 3.11 Windows x86-64

py2exe-0.13.0.2-cp311-cp311-win32.whl (147.0 kB 查看哈希值)

上传时间 CPython 3.11 Windows x86

py2exe-0.13.0.2-cp310-cp310-win_amd64.whl (155.5 kB 查看哈希值)

上传时间 CPython 3.10 Windows x86-64

py2exe-0.13.0.2-cp310-cp310-win32.whl (147.1 kB 查看哈希值)

上传时间 CPython 3.10 Windows x86

py2exe-0.13.0.2-cp39-cp39-win_amd64.whl (155.5 kB 查看哈希值)

上传时间 CPython 3.9 Windows x86-64

py2exe-0.13.0.2-cp39-cp39-win32.whl (147.1 kB 查看哈希值)

上传时间 CPython 3.9 Windows x86

py2exe-0.13.0.2-cp38-cp38-win_amd64.whl (155.5 kB 查看哈希值)

上传时间 CPython 3.8 Windows x86-64

py2exe-0.13.0.2-cp38-cp38-win32.whl (147.1 kB 查看哈希值)

上传时间 CPython 3.8 Windows x86

支持者