跳转到主要内容

PyInstaller将Python应用程序及其所有依赖项打包成一个单独的包。

项目描述

PyPI PyPI - Python Version Read the Docs (version) PyPI - Downloads

PyInstaller 将 Python 应用程序及其所有依赖项打包成一个单独的包。用户可以运行打包的应用程序,无需安装 Python 解释器或任何模块。

文档

https://pyinstaller.org/

代码

https://github.com/pyinstaller/pyinstaller

PyInstaller 读取您编写的 Python 脚本。它分析您的代码以发现脚本执行所需的每个其他模块和库。然后,它收集所有这些文件的副本 - 包括活动的 Python 解释器! - 并将它们与您的脚本一起放在单个文件夹中,或者可选地放在单个可执行文件中。

PyInstaller 已针对 Windows、macOS 和 GNU/Linux 进行测试。然而,它不是一个交叉编译器:要创建 Windows 应用程序,请在 Windows 上运行 PyInstaller;要创建 GNU/Linux 应用程序,请在 GNU/Linux 上运行它,等等。PyInstaller 已在 AIX、Solaris、FreeBSD 和 OpenBSD 上成功使用,但不是作为持续集成测试的一部分对其进行测试。

主要优势

  • 与任何 3.8-3.13 版本的 Python 无缝兼容。

  • 完全多平台,并使用操作系统支持来加载动态库,从而确保完全兼容。

  • 默认捆绑主要的 Python 包,如 numpy、PyQt5、PySide2、PyQt6、PySide6、wxPython、matplotlib 等。

  • 默认与许多第三方包兼容。(所有使外部包工作所需的技巧都已集成。)

  • 在 macOS 上支持代码签名。

  • 在 Windows 上捆绑 MS Visual C++ DLL。

安装

PyInstaller 可在 PyPI 上获得。您可以通过 pip 安装它

pip install pyinstaller

要求和测试平台

  • Python
    • 3.8-3.13。请注意,Python 3.10.0 中存在一个错误,使得 PyInstaller 无法支持它。PyInstaller 也不会与 Python 3.14 的测试版本一起工作。

  • Windows(32位/64位/ARM64)
    • PyInstaller 应该可以在 Windows 7 或更高版本上运行,但我们只正式支持 Windows 8+。

    • 支持从 Windows 商店安装的 Python 而不使用虚拟环境,需要 PyInstaller 4.4 或更高版本。

  • Linux
    • 基于 GNU libc 的在 x86_64aarch64i686ppc64les390x 架构上的发行版。

    • 基于 musl libc 的在 x86_64aarch64 架构上的发行版。

    • ldd:打印每个程序或共享库所需的共享库的控制台应用程序。通常可以在分布包 glibclibc-bin 中找到。

    • objdump:显示对象文件信息的控制台应用程序。通常可以在分布包 binutils 中找到。

    • objcopy:复制和转换对象文件的控制台应用程序。通常也可以在分布包 binutils 中找到。

    • Raspberry Pi 用户在 armv5-armv7 上应将 piwheels 添加为额外的索引 URL,然后像往常一样 pip install pyinstaller

  • macOS(x86_64arm64
    • macOS 10.15(Catalina)或更高版本。

    • 如果您的 Python 和所有依赖项的安装也是编译的 universal2,则支持构建 universal2 应用程序。

用法

基本用法非常简单,只需针对您的主脚本运行它

pyinstaller /path/to/yourscript.py

有关更多详细信息,请参阅 手册

未测试的平台

以下平台已被贡献,对这些平台的任何反馈或改进都欢迎。

  • FreeBSD
    • ldd

  • Solaris
    • ldd

    • objdump

  • AIX
    • AIX 6.1 或更高版本。PyInstaller 不会与静态链接的 Python 库一起工作。

    • ldd

  • 支持以下未列出的所有其他libc实现/架构组合的Linux。

在使用任何贡献的平台之前,您需要构建PyInstaller引导加载程序。如果您已安装适当的C编译器(通常是gcc或clang)以及zlib的开发头文件,则当您执行pip install pyinstaller时,此操作将自动完成。

支持

  • 官方调试指南:[https://pyinstaller.org/en/v6.10.0/when-things-go-wrong.html](https://pyinstaller.org/en/v6.10.0/when-things-go-wrong.html)

  • 各种用户贡献的帮助主题:[https://github.com/pyinstaller/pyinstaller/wiki](https://github.com/pyinstaller/pyinstaller/wiki)

  • 基于Web的Q&A论坛:[https://github.com/pyinstaller/pyinstaller/discussions](https://github.com/pyinstaller/pyinstaller/discussions)

  • 基于电子邮件的Q&A论坛:[https://groups.google.com/g/pyinstaller](https://groups.google.com/g/pyinstaller)

本版本中的更改

您可以在手册的变更日志部分找到本版本中的详细更改列表。

项目详情


下载文件

下载适用于您平台文件的文件。如果您不确定选择哪一个,请了解有关安装包的更多信息。

源分布

pyinstaller-6.10.0.tar.gz (2.5 MB 查看哈希值)

上传时间: 源代码

构建分布

pyinstaller-6.10.0-py3-none-win_arm64.whl (1.3 MB 查看哈希值)

上传时间: Python 3 Windows ARM64

pyinstaller-6.10.0-py3-none-win_amd64.whl (1.3 MB 查看哈希值)

上传于 Python 3 Windows x86-64

pyinstaller-6.10.0-py3-none-win32.whl (1.3 MB 查看哈希)

上传于 Python 3 Windows x86

pyinstaller-6.10.0-py3-none-musllinux_1_1_x86_64.whl (703.7 kB 查看哈希)

上传于 Python 3 musllinux: musl 1.1+ x86-64

pyinstaller-6.10.0-py3-none-musllinux_1_1_aarch64.whl (707.8 kB 查看哈希)

上传于 Python 3 musllinux: musl 1.1+ ARM64

pyinstaller-6.10.0-py3-none-manylinux2014_x86_64.whl (703.3 kB 查看哈希)

上传于 Python 3

pyinstaller-6.10.0-py3-none-manylinux2014_s390x.whl (702.9 kB 查看哈希)

上传于 Python 3

pyinstaller-6.10.0-py3-none-manylinux2014_ppc64le.whl (712.5 kB 查看哈希)

上传于 Python 3

pyinstaller-6.10.0-py3-none-manylinux2014_i686.whl (707.3 kB 查看哈希)

上传于 Python 3

pyinstaller-6.10.0-py3-none-manylinux2014_aarch64.whl (705.0 kB 查看哈希)

上传于 Python 3

pyinstaller-6.10.0-py3-none-macosx_10_13_universal2.whl (984.9 kB 查看哈希)

上传于 Python 3 macOS 10.13+ universal2 (ARM64, x86-64)

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面