Skip to main content

PyInstaller 将 Python 应用程序及其所有依赖项捆绑到一个包中。

项目描述

派皮 PyPI - Python 版本 阅读文档(版本) PyPI - 下载

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,但作为持续集成测试的一部分,并未针对它们进行测试。

主要优势

  • 适用于任何 Python 版本 3.7-3.10 的开箱即用。

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

  • 正确捆绑了主要的 Python 包,例如 numpy、PyQt5、PySide2、PyQt6、PySide6、wxPython、matplotlib 和其他开箱即用的包。

  • 与许多开箱即用的第 3 方软件包兼容。(使外部包工作所需的所有技巧都已集成。)

  • 适用于 macOS 上的代码签名。

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

安装

PyInstaller 在 PyPI 上可用。您可以通过pip安装它:

pip install pyinstaller

需求和测试平台

  • Python:
    • 3.7-3.10。请注意,Python 3.10.0 包含一个错误,导致 PyInstaller 不支持它。PyInstaller 也不适用于 Python 3.11 的 beta 版本。

    • tinyaes 1.0+(仅在使用字节码加密时)。而不是安装 tinyaes,而是pip install pyinstaller[encryption]

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

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

    • 请注意,arm64上的 Windows尚不支持。如果您有这样的设备并想帮助我们添加arm64支持,请在我们的问题跟踪器上告诉我们。

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

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

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

    • objdump:用于显示来自目标文件的信息的控制台应用程序。这通常可以在分发包binutils中找到。

    • objcopy:用于复制和翻译目标文件的控制台应用程序。这通常也可以在分发包binutils中找到。

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

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

    • 支持构建universal2应用程序,前提是您安装的Python 和所有依赖项也都编译为universal2

用法

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

pyinstaller /path/to/yourscript.py

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

未经测试的平台

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

  • 自由BSD
    • ldd

  • 索拉里斯
    • ldd

    • 对象转储

  • 艾克斯
    • AIX 6.1 或更高版本。PyInstaller 不适用于静态链接的 Python 库。

    • ldd

  • 上面未列出的任何其他 libc 实现/架构组合上的 Linux。

在使用任何贡献的平台之前,您需要构建 PyInstaller 引导加载程序。这将在您pip install pyinstaller时自动发生,前提是您已经安装了适当的 C 编译器(通常是gccclang)和 zlib 的开发头文件。

支持

此版本中的更改

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

项目详情


下载文件

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

源分布

pyinstaller-5.4.1.tar.gz (2.4 MB 查看哈希

已上传 source

内置发行版

pyinstaller-5.4.1-py3-none-win_amd64.whl (1.2 MB 查看哈希

已上传 py3

pyinstaller-5.4.1-py3-none-win32.whl (1.1 MB 查看哈希

已上传 py3

pyinstaller-5.4.1-py3-none-musllinux_1_1_x86_64.whl (591.7 kB 查看哈希

已上传 py3

pyinstaller-5.4.1-py3-none-musllinux_1_1_aarch64.whl (594.9 kB 查看哈希

已上传 py3

pyinstaller-5.4.1-py3-none-manylinux2014_x86_64.whl (590.9 kB 查看哈希

已上传 py3

pyinstaller-5.4.1-py3-none-manylinux2014_s390x.whl (591.2 kB 查看哈希

已上传 py3

pyinstaller-5.4.1-py3-none-manylinux2014_ppc64le.whl (598.5 kB 查看哈希

已上传 py3

pyinstaller-5.4.1-py3-none-manylinux2014_i686.whl (594.8 kB 查看哈希

已上传 py3