如何解决PyInstaller打包PyQt5 GUI时的openpyxl.cell._writer模块缺失错误?
解决PyInstaller打包后找不到openpyxl.cell._writer的问题
以下是几个可行的解决思路:
显式导入缺失模块
在你的主脚本main_3.py开头添加一行导入语句,强制PyInstaller识别并打包该模块:import openpyxl.cell._writer之后重新执行打包命令。
打包时指定隐藏导入参数
使用PyInstaller的--hidden-import参数手动指定需要打包的隐式依赖模块,打包命令改为:pyinstaller --hidden-import=openpyxl.cell._writer main_3.py如果后续出现其他类似的
ModuleNotFoundError,可以继续添加多个--hidden-import参数补充缺失模块。更新openpyxl到兼容版本
部分旧版本openpyxl可能存在PyInstaller打包兼容性问题,先卸载当前版本再安装最新稳定版:pip uninstall openpyxl -y pip install --upgrade openpyxl完成后重新打包程序。
通过.spec文件配置隐藏导入
生成并编辑PyInstaller的spec文件来持久化配置:- 生成spec文件:
pyi-makespec main_3.py - 打开生成的
main_3.spec文件,找到hiddenimports字段,添加缺失的模块:hiddenimports=['openpyxl.cell._writer'], - 使用spec文件执行打包:
pyinstaller main_3.spec
- 生成spec文件:
清理缓存后重新打包
删除PyInstaller生成的build、dist文件夹,以及脚本目录下的__pycache__目录,然后重新执行打包命令,避免缓存导致的依赖识别异常。
内容的提问来源于stack exchange,提问作者sumitpal0593
相关产品推荐
相关产品推荐

