OpenCV实现二维码读取 Py转exe报config.py缺失错误求助
OpenCV打包exe缺失config.py错误解决方案
错误原因
该报错是PyInstaller打包过程中未自动捕获OpenCV的配置依赖文件导致,高版本opencv-python(4.6及以上)普遍存在该打包适配问题。
可用解决方案
方案1:打包时手动添加cv2目录依赖
先找到本地Python环境的opencv安装路径,对应site-packages/cv2目录,Windows路径示例为C:\Users\用户名\AppData\Local\Programs\Python\Python版本号\Lib\site-packages\cv2
打包时添加--add-data参数指定cv2路径即可:
Windows下命令:
Mac/Linux下命令:pyinstaller --onefile --add-data "你的cv2路径/*;cv2/" 你的脚本名.pypyinstaller --onefile --add-data "你的cv2路径/*:cv2/" 你的脚本名.py方案2:通过spec配置文件打包
- 先执行命令生成spec配置文件:
pyi-makespec 你的脚本名.py - 打开生成的spec文件,找到
datas配置项,修改为:
datas=[("你的cv2路径/*", "cv2")],- 直接基于spec文件打包:
pyinstaller 你的脚本名.spec
- 先执行命令生成spec配置文件:
方案3:降级OpenCV版本
卸载当前版本opencv,安装无打包适配问题的4.5.5.62版本:
降级完成后执行常规打包命令即可。pip uninstall opencv-python opencv-python-headless -y pip install opencv-python==4.5.5.62
额外注意事项
你提供的示例代码中所有
import语句都写在了qrread函数内部,建议统一移到脚本最开头,避免打包时出现不必要的导入识别错误。如果打包后运行exe闪退,可先去掉--windowed参数,通过控制台模式运行查看具体报错信息。
内容的提问来源于stack exchange,提问作者RJ Sathusan
相关产品推荐
相关产品推荐

