一、为什么需要 PyInstaller?
写了个自动化脚本,发给同事,他说'Python 是啥?怎么运行?'如果你不想让每个人都安装 Python 和依赖包,可以使用 PyInstaller。
PyInstaller 的作用:把 Python 脚本及其依赖打包成一个独立的可执行文件(Windows 下是 .exe),用户无需 Python 环境,双击即可运行。
支持平台:Windows、macOS、Linux。
二、安装 PyInstaller
最简单的方式是用 pip 安装:
pip install pyinstaller
如果下载慢,可以换国内源:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyinstaller
安装完成后,在命令行输入以下命令确认是否成功:
pyinstaller --version
正常会显示版本号,如 6.7.0。
三、快速上手:打包一个最简单的脚本
假设我们有一个名为 hello.py 的脚本,内容如下:
print("Hello, PyInstaller!")
input("按回车键退出...")
进入脚本所在目录,打开命令行,执行:
pyinstaller hello.py
命令执行后,会生成两个目录:
build:临时文件目录(可忽略)dist:打包好的可执行文件就在这里
在 dist/hello 目录下(Windows 为 dist/hello)找到 hello.exe(或 hello),双击运行,就能看到输出结果。
注意:默认生成的是一个文件夹,里面包含 exe 和一堆依赖文件。如果想生成单个 exe 文件,加上 -F 参数:
pyinstaller -F hello.py
此时 dist 目录下只有一个 hello.exe,双击就能运行。
四、常用参数详解
-F, --onefile:打包成单个 exe 文件-D, --onedir:打包成一个文件夹(默认)-w, --windowed:不显示控制台窗口(适用于 GUI 程序)-i, --icon:指定 exe 的图标(如-i icon.ico)--name:指定生成的 exe 文件名--add-data:添加额外数据文件(如图片、配置文件)--hidden-import:手动导入 PyInstaller 未能自动发现的模块
五、实战:打包带依赖和 GUI 的程序
假设我们有一个简单的 GUI 程序 gui_app.py,用 做了一个小窗口,还依赖一个外部的 文件。

