记录一次真实踩坑:
PyInstaller 打包 PyQt6 程序时,反复报错
ModuleNotFoundError / No module named PyInstaller
最终发现 不是 PyQt6 的问题,而是 Python 环境混乱
一、问题背景
我在使用 PyInstaller 打包一个 PyQt6 GUI 程序:
bash
pyinstaller -F -w main.py
运行打包出来的exe后报错:
bash
Traceback (most recent call last):
File "main.py", line 5, in <module>
ModuleNotFoundError: No module named 'PyQt6'
👉 明明安装过编译器运行正常,为什么缺少模块呢?
尝试改用:
bash
python -m PyInstaller -F -w main.py
结果又报了一个更离谱的错:
bash
python.exe: No module named PyInstaller
此时非常容易陷入困惑:
👉 明明 PyInstaller 安装过,为什么 Python 说找不到?
二、核心原因总结
PyInstaller / PyQt6 没有安装在当前使用的 Python 解释器里
这是一个典型的 Python 多环境 + pip 指向不一致问题。
三、先搞清楚:你到底在用哪个 Python?
bash
where python
where pyinstaller
你很可能会看到类似:
bash
C:\Python311\python.exe
C:\Users\xxx\AppData\Roaming\Python\Python39\Scripts\pyinstaller.exe
这意味着:
python👉 Python 3.11pyinstaller👉 Python 3.9
❌ 根本不是同一个环境
四、正确姿势:永远用 python -m
1️⃣ 用当前 python 安装 PyInstaller
bash
python -m pip install pyinstaller
(国内网络可用)
bash
python -m pip install pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple
2️⃣ 验证 PyInstaller 是否真的装成功
bash
python -m PyInstaller --version
如果能看到版本号,说明 环境终于统一了
3️⃣ 再执行打包
bash
python -m PyInstaller -F -w main.py
到这里,
❌ No module named PyInstaller
❌ 找不到 PyInstaller
都会彻底消失
五、结语
这个问题看似是:
PyInstaller 找不到库
实际上是:
Python 环境混乱 + 工具链不统一
记住一句话就够了 👇
永远用 python -m pip 和 python -m PyInstaller
希望这篇踩坑记录能帮你少走几个小时弯路。