其中的 -w 参数是 PyInstaller 用于窗口模式(Windowed mode),它会关闭命令行窗口的输出,这通常用于 图形界面程序(GUI),比如使用 PyQt6, Tkinter, PySide6 等。
所以:
如果你在没有 GUI 的程序中使用 -w 参数打包,PyInstaller 有时会自动尝试寻找 GUI 框架支持,可能在依赖分析过程中误加入 PyQt6 或提示它缺失。
如果你用的是 PyCharm,它有可能在解释器或打包配置中引用过 PyQt6,这也会引起误解。
pyinstaller --exclude --onefile 02合并相同数据生成exe.py pyinstaller -F -w 02合并相同数据生成exe.py pyinstaller -F 02合并相同数据生成exe.py
既然你并没用 PyQt5 / PyQt6,可以直接在打包时排除它们
pyinstaller -F --exclude-module PyQt5 --exclude-module PyQt6 02合并相同数据生成exe.py
pyinstaller --exclude-module PyQt5 --exclude-module PyQt6 02合并相同数据生成exe.py
解决方法一:用 --exclude-module 排除 Qt 模块(推荐 ✅)
既然你并没用 PyQt5 / PyQt6,可以直接在打包时排除它们:
bash
复制
编辑
pyinstaller -F --exclude-module PyQt5 --exclude-module PyQt6 02合并相同数据生成exe.py
这个做法最简单,而且不会动你的环境。
各参数含义:
-F:生成单个 .exe 文件
-w / --noconsole:不显示控制台窗口
–exclude-module:排除不需要的模块(你已经正确使用)