无法安装opencv-python 3.4.2.16版本的解决方法(Could not find a version that satisfies the requirement opencv-py)

问题简述与原因分析

问题简述:使用 pip install opencv-python==3.4.2.16 安装 SIFT等算法可免费使用的版本的opencv时遇到 ‘ Could not find a version that satisfies the requirement opencv-python==3.4.2.16’的报错
在这里插入图片描述

环境:Anaconda & python 3.8,已换源到 清华源,win10

原因:报错中讲述找不到3.4.2.16的opencv-python版本,去 清华源的 opencv-python的列表 ,找到opencv-python-3.4.2.16部分,cp代表python版本,可以看到,opencv-python-3.4.2.16最高只支持python3.7,因此3.8及以后版本的python的使用者,使用pip安装这个版本的opencv可能都会遇到这样的报错,只要回退到3.7版本或者新建虚拟环境即可。
在这里插入图片描述

解决方案一:回退到python3.7

网上主流的几种方法中,比较方便的是 直接用conda安装覆盖 和 使用anaconda navigator更改已有环境的python版本

方法一:conda install python=3.7

方法二:Anaconda Navigator 客户端 (打开后不要乱点,很容易卡住) --> Enviroments --> 搜索python --> 左键单击前面的 红色对勾 --> 在菜单选择最后一个 --> 选择想安装的版本 --> 点击客户端下端的Apply
在这里插入图片描述
我原本想这样安装的,但是不知是网太慢还是环境还是不稳定的问题,都没有装好。且直接更改base环境的python版本很可能导致我环境内的其他包(比如pytorch)的版本匹配出现问题,所以还是最好新建一个虚拟环境

解决方案二:建立新的虚拟环境

有关虚拟环境我比较推荐这篇文章
https://www.cnblogs.com/yuehouse/p/10239195.html

第一步:建立虚拟环境

conda create -n py37 python=3.7

或者使用 anaconda navigator 客户端,点击上面界面的 Create 创建新环境,如果不想重新安装包,也可以尝试 克隆
我命名成 py37,读者也可以自己命名

第二步:激活虚拟环境

activate py37

第三步:安装所需包

conda install opencv-python==3.4.2.16
conda install opencv-contrib-python==3.4.2.16

第四步:修改自己编译环境中的解释器路径

以 PyCharm为例,在 文件 -> 设置 -> 项目XXXX -> Python解释器 -->点击 齿轮 按钮 --> 现有环境 --> …按钮 --> 打开显示隐藏目录(上面的小眼睛按钮) --> 选择路径 一路确认
路径一般是Anaconda安装根目录的envi文件夹的py37下的 Python.exe
如果没有自定义路径,多数默认路径为 C:\ProgramData\Anaconda3\envs\py37\python.exe
在这里插入图片描述
再说一个常用的 Jupyter Notebook (很多教学都在notebook中进行)
需要先安装 nb_conda (base环境中安装即可)

conda install nb_conda

然后打开Notebook后每次新建文件就可以选择环境,已有文件也可以在Cell菜单更改运行环境

CSDN第一篇文章,如有勘误请指出

  • 34
    点赞
  • 104
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 16
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青云直上_LQY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值