安装opencv-contrib的ReadTimeoutError和下载后无法使用cv2:AttributeError,下载成功后 ‘cv2‘ has no attribute ‘face‘的解决

超时问题

报错

在做人脸识别的时候,要用到opencv-contrib-python,此时已经下载了opencv-python。

在pycharm终端输入:

 pip install opencv-contrib-python

发现速度很慢,而且过了一会下载失败,报错:pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool

查了一下应该是连接超时了,解决方法是手动延迟检测时间。

解决

用win+r,打开cmd,输入

pip --default-timeout=1000 install -U opencv-contrib-python

–default-timeout 参数,就是设置连接超时最大时间。

等一会显示下载成功

参考资料:https://blog.csdn.net/sinat_36342564/article/details/125909237

下载后无法使用cv2

报错

下载完成后运行一下原来的py文件,居然报错了:

AttributeError: partially initialized module ‘cv2’ has no attribute ‘gapi_wip_gst_GStreamerPipeline’ (most likely due to a circular import)

解决

查资料是版本不匹配的问题,尝试卸载掉刚下载的opencv-contrib-python

pip uninstall opencv-contrib-python==4.7.0.68

卸载成功:

尝试运行之前的代码,居然还报错,痛苦

查了很久资料,不知道问题在哪。。迷茫,看到有博主说是环境的问题,检查了一下感觉我的问题应该不是这个(毕竟之前也可以用)

参考:https://blog.csdn.net/weixin_43898924/article/details/108916462

https://blog.csdn.net/weixin_42871236/article/details/115951989

然后一怒之下去升级了opencv

pip install --user --upgrade opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple

然后又试了一下,居然又不报错了

好吧,本来是打算卸载opencv-contrib-python,再下一个和原来opencv匹配的opencv-contrib。既然opencv已经升级了,就重复前面操作,再下一次最新版的opencv-contrib-python。

这次居然这么快

再运行一下原来代码,也是成功的。

所以之前报错原因应该是版本不匹配,需要下相同的版本。


下载成功后用不了face

报错

opencv和opencv-contrib安装好了以后,加载了一个识别器

face_recognizer = cv2.face.EigenFaceRecognizer_create()

但是报错了

解决

先把下好的opencv-contrib-python给删了(又一次我哭死),再cmd输入

pip install opencv-contrib-python --user

之后再运行不报错。一定要加--user,不知道原理是啥。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值