Python

PyInstaller:将 Python 应用程序打包为独立可执行文件

PyInstaller 将 Python 应用程序冻结为 Windows、macOS 和 Linux 的独立可执行文件,将所有依赖项捆绑到单个软件包中。

Keeping this site alive takes effort — your support means everything.
無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分! 無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分!
PyInstaller:将 Python 应用程序打包为独立可执行文件

Python 最大的挑战之一是分发。用户需要安装 Python、管理虚拟环境并解决依赖关系,然后才能运行你的应用程序。PyInstaller 通过将 Python 应用程序冻结为可在未安装 Python 的系统上运行的独立可执行文件来解决这个问题。

PyInstaller 分析你的 Python 脚本,发现所有导入的模块和数据文件,并将它们与最小的 Python 解释器一起捆绑到单个可执行文件或目录中。结果是一个可分发的软件包,用户可以像任何原生应用程序一样通过双击来运行。

主要功能

功能描述
跨平台为 Windows、macOS 和 Linux 创建可执行文件
单文件模式将所有内容捆绑到单个可执行文件中
自动依赖检测查找并包含所有导入的模块
隐藏导入支持针对动态导入的手动指定
数据文件捆绑包含图像、配置和资源文件

构建流程

PyInstaller 首先分析脚本以了解其依赖树,然后将所有内容捆绑在一起。Spec 文件为高级用户提供了对构建各个方面的精细控制。

平台支持

平台可执行文件类型大小(最小)备注
Windows.exe8-15 MB也可通过第三方工具支持 .msi
macOS.app 包10-20 MB支持代码签名以便分发
LinuxELF 二进制文件8-15 MB不需要运行时依赖

何时使用 PyInstaller

PyInstaller 非常适合分发 GUI 应用程序、为非技术团队提供的内部工具、部署到没有 Python 的系统,以及创建工具的便携版本。它并非为 Web 应用程序或服务而设计,在这些场景中服务器端 Python 已经可用。

如需更多信息,请访问 PyInstaller GitHub 仓库官方 PyInstaller 文档

常见问题

Q:PyInstaller 能将所有内容捆绑到一个文件中吗? A:可以,使用 --onefile 标志,所有内容都会被压缩到一个可执行文件中。

Q:PyInstaller 能与虚拟环境一起使用吗? A:可以,从应用程序的虚拟环境中运行时效果最佳。

Q:防病毒软件可能会标记 PyInstaller 可执行文件吗? A:有时候会,因为可执行文件包含嵌入式 Python 解释器。代码签名有助于减少误报。

Q:PyInstaller 支持 Python 3.13 吗? A:是的,最新版本支持 Python 3.8 到 3.13。

Q:我可以使用 PyInstaller 混淆我的 Python 代码吗? A:PyInstaller 捆绑的是字节码而非源代码,但它不是真正的混淆器。如需更强的保护,请与加密工具配合使用。

TAG
CATEGORIES