【Python】关于用pyinstaller打包包含cv2包运行程序之后无法正常运行提示OpenCV问题的解决办法

当Python程序打包后运行出现`failedtoexecutescriptmain`错误,特别是涉及cv2模块时,可能是cv2包未正确打包。解决方法包括找到cv2的绝对路径(使用`cv2.__file__`),然后在打包命令中添加`--paths`参数,指定cv2的路径,如此即可解决OpenCV配置文件缺失的错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【问题描述】
我写了一个程序直接运行完全正常,但是打包之后就无法运行,弹出一个框,提示failed to execute script main。然后用录屏软件录屏,逐帧查看,发现提示下面这个错误:
在这里插入图片描述
Traceback (most recent cal1 last):Filemain.pyline 10,in
FilePyInstaller loader pyimod03 importers.py”,line 540,in exec_moduleFileinit_py.c2line 181,in Fileline 111,cy2init.pyin bootstrapFilecv21.py”,line 109,in load first_configinit['config.py]. Check OpenCV installation.mportError: OpenCV loader: missing configuration file:7568] Failed to execute script main

ImportError: OpenCV loader: missing configuration file: [‘config.py’]. Check OpenCV installation.
找不到你的opencv配置文件

在网上找了一下大概是打包的时候没有正常打包cv2包的问题,具体原因不想深究了,这边记录一下解决方法,方便后续再遇到知道怎么解决。

【解决方法】
**第1步:**找到你的cv2包的绝对路径
可以自己去Python安装包文件夹里面去找;或者用下面的方法

import cv2
print(cv2.__file__)

运行之后打印出cv2包的路径,我的输出是:C:\Users\lakelee\AppData\Local\Programs\Python\Python39\lib\site-packages\cv2_init_.py
那么包的路径就是:C:\Users\lakelee\AppData\Local\Programs\Python\Python39\lib\site-packages\cv2

**第2步:**添加包的路径后再打包
在原来打包语言的最后,加上 --paths=“C:\Users\lakelee\AppData\Local\Programs\Python\Python39\lib\site-packages\cv2”(具体路径根据自己电脑定)

比如我之前要打包:

pyinstaller -w docx\api.py

改成下面这样再打包就能解决问题了:

pyinstaller -w docx\api.py --paths="C:\Users\lakelee\AppData\Local\Programs\Python\Python39\lib\site-packages\cv2"

– 完 –

参考资源链接:[Python+OpenCV打包闪退:版本兼容解决方案](https://wenku.csdn.net/doc/6m8mzi04fk?utm_source=wenku_answer2doc_content) 遇到使用PyInstaller打包集成了OpenCVPython项目后程序闪退的问题,可以尝试以下方法解决: 1. 确认PythonPyInstaller以及OpenCV-python的版本兼容性。确保使用的是稳定且兼容的版本组合,例如Python 3.7的32位版本,PyInstaller 4.0以及OpenCV-python *.*.*.**。 2. 安装或升级到推荐的稳定版本,并确保卸载旧版本的库,避免版本冲突。 3. 在打包时使用`--hidden-import`选项,以便PyInstaller可以隐式导入所有必要的库。例如: ``` pyinstaller --onefile --hidden-import=cv2 your_script.py ``` 4. 使用`--add-data`选项在打包时将OpenCV的依赖库和头文件括进去。例如: ``` pyinstaller --onefile --add-data 'path/to/opencv/data/*' your_script.py ``` 5. 检查spec文件中是否正确配置了OpenCV库的路径,确保在打包后的环境中可以正确加载OpenCV模块。 6. 如果问题依旧存在,可以考虑在不同环境下测试打包程序,例如在不同的操作系统或Python解释器下,以排除环境因素导致的问题。 7. 使用《Python+OpenCV打包闪退:版本兼容解决方案》提供的工具和方法,对项目进行彻底的版本管理和环境配置检查。 以上步骤涵盖了从确认版本兼容性、正确使用PyInstaller打包选项到细致检查打包配置的多个方面,应能有效解决打包程序闪退的问题。如果在实施过程中遇到困难,建议参考《Python+OpenCV打包闪退:版本兼容解决方案》中的详细教程和案例分析,深入理解每个步骤背后的原理和操作,从而提升解决类似问题的能力。 参考资源链接:[Python+OpenCV打包闪退:版本兼容解决方案](https://wenku.csdn.net/doc/6m8mzi04fk?utm_source=wenku_answer2doc_content)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值