我给你一套最简单、最通用、零报错 的打包方案,用 PyInstaller (Python 最主流、最稳定的打包工具),不管是单个 .py 文件 ,还是整个项目工程(多文件、带图片 / 配置 / 依赖库),都能一键打包成独立 EXE。
全程不用装复杂环境,复制命令就能用!
一、先安装打包工具
打开 CMD / 终端,执行:
bash
pip install pyinstaller
二、场景 1:打包 单个 Python 文件
比如你只有一个 main\.py,没有其他依赖文件。
最简命令(生成单个 EXE)
bash
pyinstaller -F -w main.py
命令解释
-
\-F:打包成单个独立 EXE 文件(最常用) -
\-w:运行时不弹出黑色控制台窗口(GUI 程序必加) -
如果是命令行工具,去掉 -w
输出位置
打包完成后,去你的项目文件夹里找:
Plain
dist/
main.exe <-- 这就是最终可直接运行的文件
三、场景 2:打包 整个 Python 工程
多文件项目(比如:main\.py、utils\.py、config\.json、images/ 文件夹、venv/ 虚拟环境)。
核心命令(推荐)
bash
pyinstaller -F -w main.py
PyInstaller 会自动扫描并打包所有导入的模块、依赖文件。
四、如果项目里有 外部资源(图片 / 配置 / 模型 / 数据库)
比如:
-
images/logo\.png -
config\.yaml -
data/model\.pth
直接打包会找不到文件,必须用 \-\-add\-data 把资源一起打进 EXE。
Windows 命令格式
bash
pyinstaller -F -w --add-data "资源路径;目标路径" 主文件.py
示例(打包带图片 + 配置文件)
bash
pyinstaller -F -w ^
--add-data "images;images" ^
--add-data "config.yaml;." ^
main.py
-
images;images:把images文件夹打包进 EXE,运行时自动释放到同目录images -
config\.yaml; \.:把配置文件放到根目录
五、进阶:给 EXE 加 图标
准备一个 \.ico 格式图标(不能是 png/jpg),放在项目目录。
命令:
bash
pyinstaller -F -w -i logo.ico main.py
六、最常用的 4 条万能命令(直接复制用)
1. 单文件 + 无控制台(GUI 软件)
bash
pyinstaller -F -w main.py
2. 单文件 + 控制台(工具脚本)
bash
pyinstaller -F main.py
3. 单文件 + 无控制台 + 图标
bash
pyinstaller -F -w -i app.ico main.py
4. 整个工程 + 资源文件 + 图标
bash
pyinstaller -F -w -i app.ico --add-data "images;images" --add-data "config.yaml;." main.py
七、打包后常见问题(必看)
-
EXE 双击打不开 / 一闪而过
-
大概率是缺资源文件,或代码报错
-
先去掉 -w 用控制台运行,看报错信息
-
-
文件太大(几百 MB)
pip install virtualenv virtualenv venv venv\\Scripts\\activate pip install 你的依赖 pip install pyinstaller再打包,体积能缩小到 10~30MB- 使用 虚拟环境,只装项目用到的库
-
杀毒软件误报
-
PyInstaller 打包的程序普遍会被误报
-
解决方法:添加信任 / 用
\-\-noupx命令
-
八、快速总结
-
安装:
pip install pyinstaller -
单文件:
pyinstaller \-F \-w 文件名\.py -
多文件工程:一样的命令,自动打包依赖
-
带资源:加
\-\-add\-data -
输出文件在:
dist/xxx\.exe
总结
-
单个 .py 文件 :用
pyinstaller \-F \-w 文件名\.py -
整个工程:同样命令,自动识别多文件
-
带图片 / 配置 :用
\-\-add\-data绑定资源 -
最终 EXE 都在
dist文件夹里,可直接发给别人运行(无需装 Python)