其中的 -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:排除不需要的模塊(你已經正確使用)