You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyInstaller打包Python为exe时报错PyQt5无__version__属性如何修复

报错原因

PyInstaller在打包过程中触发了PyQt5对应的打包钩子,尝试读取PyQt5版本信息时失败,根本原因是你的环境中仅安装了PyQt6,没有完整安装PyQt5,或你的项目代码中还残留未修改的PyQt5导入语句。

修复步骤
  • 排查项目内所有Qt相关导入语句,确认所有引用都是PyQt6开头,不存在import PyQt5、from PyQt5 import xxx类的漏改语句,完成PyQt5到PyQt6的全量引用替换。
  • 打包时手动排除PyQt5模块,避免触发对应的钩子,在原有打包命令中增加--exclude-module PyQt5参数,示例如下:
pyinstaller --onefile --windowed --exclude-module PyQt5 你的主程序文件.py
  • 卸载环境内残留的PyQt5相关零碎文件:
pip uninstall PyQt5 PyQt5-sip -y
  • 升级PyInstaller到最新版本,旧版本对PyQt6的适配存在缺陷:
pip install --upgrade pyinstaller
  • 若上述操作后仍报错,打包时增加参数手动导入PyQt6:
pyinstaller --onefile --windowed --exclude-module PyQt5 --hidden-import PyQt6 你的主程序文件.py
补充说明

如果你使用自定义的spec文件进行打包,直接在spec文件的excludes列表中添加'PyQt5',在hiddenimports列表中添加'PyQt6'后重新打包即可。

内容的提问来源于stack exchange,提问作者vinsent paramanantham

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 10:12:04