当前位置:首页>python>Python 打包 exe 保姆级教程

Python 打包 exe 保姆级教程

  • 2026-09-13 17:26:02
Python 打包 exe 保姆级教程

Python 打包 exe 保姆级教程

把写好的 .py 脚本变成双击就能运行的 .exe,发给同事、客户,他们电脑上不用装 Python 也能用。
本文附带一个 PyQt5 图形化打包工具,点几下鼠标就能完成打包。

一、为什么要把 Python 打包成 exe?

  • • 对方电脑没装 Python、没配环境,直接给 .py 他跑不起来。
  • • 交付更专业:双击即用,像普通软件一样。
  • • 保护源码:虽然 exe 仍可反编译,但比直接发源码门槛高很多。

二、核心工具:PyInstaller

业界最常用、跨平台、上手成本最低的就是 PyInstaller。

pip install pyinstaller

验证安装:

pyinstaller --version

三、最常用的几条命令

1. 单文件打包(最推荐新手)

pyinstaller -F your_script.py

-F / --onefile:所有依赖塞进一个 exe 文件,干净好发。

2. 去掉黑框(GUI 程序必备)

pyinstaller -F -w your_script.py

-w / --windowed:运行时不弹控制台黑窗口。你的 PyQt5 工具就该加这个。

3. 自定义图标

pyinstaller -F -w -i app.ico your_script.py

-i:指定 .ico 图标(注意必须是 ico 格式,png 不行)。

4. 打包时带上额外资源文件

pyinstaller -F -w --add-data "config.json;." your_script.py

Windows 用 ; 分隔(源;目标),macOS/Linux 用 :。代码里读取资源要用下面这段兼容写法:

import sys, os
defresource_path(relative):
    base = getattr(sys, '_MEIPASS', os.path.abspath('.'))
return os.path.join(base, relative)

四、打包后文件在哪?

打包完成会在当前目录生成:

  • • dist/:里面就是最终的 your_script.exe
  • • build/:中间临时文件,可删
  • • your_script.spec:打包配置文件,下次可直接 pyinstaller your_script.spec

发给别人只需要 dist/ 里的 exe。

五、体积太大怎么办?

PyInstaller 会把整个 Python 环境都打进去,常见 10~50MB。优化手段:

  1. 1. 用虚拟环境只装必要库再打包。
  2. 2. 加 --exclude-module 排除用不到的模块。
  3. 3. 用 pip install upx + 自动 UPX 压缩(PyInstaller 默认会调用)。
  4. 4. 实在苛刻再考虑 Nuitka(编译型,体积小但配置复杂)。

六、常见坑

现象
原因
解决
双击 exe 闪退
有报错但黑框关了
临时去掉 -w 看报错
报 ModuleNotFoundError
动态 import 没识别到
加 --hidden-import 模块名
图片/文件找不到
路径用了相对路径
用 resource_path() 兼容函数
杀毒软件误报
PyInstaller 特征
加数字签名或加白名单

七、配套工具怎么用

打开本目录的 main.py,运行后:

  1. 1. 点「选择脚本」挑你的 .py。
  2. 2. 勾选「单文件」「无控制台窗口」,需要图标就选 .ico。
  3. 3. 点「开始打包」,右侧实时滚动日志。
  4. 4. 完成后去 dist/ 拿走 exe 即可。

一键打包,告别记命令。

最新文章

随机文章