Python PyInstaller 安装与打包实战指南

拾光
拾光
发布时间:2026-10-11 | 1人浏览过
原创

本文详细介绍 Python 第三方库 PyInstaller 的安装方法及核心使用技巧。通过 pip 安装后,利用 -F 参数可将脚本打包为 Windows 单文件 EXE,利用 -D 参数生成包含依赖文件的目录。文章涵盖常用参数解析、代码入口规范及常见注意事项,帮助开发者快速完成 Python 应用的独立分发。

PyInstaller 安装与环境准备

PyInstaller 并非 Python 标准库的一部分,因此在使用前需要手动安装。推荐使用在线安装方式,以便自动处理相关的依赖包。在命令行中执行以下命令即可完成安装:

pip install pyinstaller

安装成功后,系统环境中的 Scripts 目录(或虚拟环境的 bin 目录)下会生成 pyinstaller.exe(Windows)或 pyinstaller(Mac/Linux)可执行文件。此时,命令行即可识别 pyinstaller 指令。

核心打包命令与参数解析

PyInstaller 的基本语法结构为:pyinstaller [选项] Python源文件。它支持 Windows 和 Mac OS X 平台,能够生成跨平台的可执行文件。以下是常用的打包选项:

  • -F 或 --onefile:指定生成单个可执行文件。这是最常用的选项,生成的文件体积较大但分发方便。
  • -D 或 --onedir:指定生成目录结构(默认选项)。生成的目录中包含主程序、.dll 动态链接库以及 .pyz 支撑文件。这种方式启动速度通常快于单文件模式。
  • -w 或 --windowed:不显示命令行窗口。适用于 GUI 程序,避免双击运行时出现黑框。
  • -c 或 --nowindowed:指定使用命令行窗口运行。这是非 GUI 程序的默认行为。
  • -a 或 --ascii:不包含 Unicode 字符集支持,生成的文件更小,但可能不支持中文等字符。
  • -d 或 --debug:产生 debug 版本的可执行文件,用于调试打包问题。
  • -o DIR:指定 spec 文件和输出目录的路径。
  • -p DIR:设置 Python 导入模块的搜索路径。
  • -n NAME:指定生成的 spec 文件及最终可执行文件的名称。
  • -h 或 --help:查看模块帮助信息。

实战操作:从代码到可执行文件

为了演示打包过程,我们创建一个简单的 Python 脚本 app.py。在编写代码时,必须遵循标准的入口规范,即通过 if __name__ == '__main__': 调用主函数,以确保打包后的程序能正确执行。

from say_hello import *

def main():
    print('程序开始执行')
    print(say_hello('孙悟空'))

# 增加调用main()函数
if __name__ == '__main__':
    main()

生成单文件 EXE

执行以下命令,将 app.py 打包为单个可执行文件:

pyinstaller -F app.py

执行完毕后,会在当前目录生成 build、dist 和 app.spec 三个文件/目录。最终的可执行文件位于 dist 子目录下。在 Windows 平台上,生成的文件名为 app.exe;在 Mac OS X 上则没有后缀名。

生成目录结构

若希望生成包含所有依赖文件的目录,可执行:

pyinstaller -D app.py

生成的目录中会包含运行所需的 .dll 和 .pyz 文件。这种方式便于后续修改部分资源文件,但分发时需要携带整个目录。

注意事项与常见问题

对于没有图形界面(GUI)的控制台程序,在 Windows 上双击生成的 EXE 文件时,程序执行完毕后命令行窗口会立即消失,导致用户无法看到输出结果。建议通过命令行运行程序,或在代码末尾添加 input() 暂停窗口关闭。

打包完成后,build 目录(包含中间构建文件)、dist 目录(包含最终产物)以及 .spec 配置文件通常可以删除,除非你需要重新打包或修改配置。若需重新打包,建议先清理这些文件以避免冲突。

以上就是 Python PyInstaller 安装与打包实战的详细内容,更多关于 Python 打包工具及环境配置的资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表