opencv小白疑惑——关于import cv2报错失效(Import “cv2“ could not be resolved Pylance)


前言

本人是刚刚接触图像识别的新人一枚。
很早就开通csdn,但是一直没有好好利用,记录内容,现在开始尽量把自己遇到的问题逐一记录,供自己回顾,与大家分享。
望各位大佬多多指教。

提示:本人运行环境为Win10 + VScode + Anaconda3=1.10.0(2020.11版本,Python=3.8.5)

一、主要问题:Import “cv2” could not be resolved Pylance

第一次用opencv的时候,安装了Anaconda的环境,不太会操作,也没有创建新的虚拟环境,就在base的环境下使用

pip install opencv-python

安装了opencv,可以调用,然后再在conda的虚拟环境“base”的虚拟环境下又使用命令行

conda install opencv

安装了opencv,同样没有使用问题。

但在我了解到有虚拟环境,或者说运行某一项目在特定环境下运行,可使环境相对“干净”,同时生成依赖也会相对干净,且安装tensorflow失败后,我在这过程中重装Anaconda3(2020.02版本,Python=3.7.6;据说tensorflow1.x仅能在Python3.6和3.7的环境下运行)后,没有安装其他的opencv,仅在新创建的虚拟环境“opencv”下安装opencv时,出现了如题的错误Import “cv2” could not be resolved Pylance,报错如下:

(opencv) F:\Postgraduate_items>C:/Anaconda3/python.exe "f:/Postgraduate_items/001. Intelligent_identification_of_pressure_guages/identification_of_meter/identification_of_meter.py"
Traceback (most recent call last):
  File "f:/Postgraduate_items/001. Intelligent_identification_of_pressure_guages/identification_of_meter/identification_of_meter.py", line 1, in <module>
    import cv2
ModuleNotFoundError: No module named 'cv2'

下面,我将介绍一下我解决问题的过程和疑惑。

二、解决过程

1. 在Anaconda3(2020.02版本)下使用pip命令安装opencv-python

完成安装后,现在在anaconda的lib/site-packages目录下和envs/opencv/lib/site-packages目录下同样都有opencv的相关包,但是在opencv虚拟环境下运行仍然报错cv2导入失败。
怀疑可能是Anaconda出现某种问题。

2. 重装Anaconda3(2020.10版本)在虚拟环境opencv下安装opencv

完成安装后,目前仅在opencv环境下有opencv的依赖包(即在anaconda的envs/opencv/lib/site-packages目录下有opencv的相关包),在opencv环境和base环境下运行均报错cv2导入失败。

3. Anaconda3(2020.10版本)pip安装opencv-python

在上述情况2的条件下使用命令行

pip install opencv-python

完成安装后,目前anaconda的lib/site-packages目录下和envs/opencv/lib/site-packages目录下同样都有opencv的相关包,但在opencv环境下运行有报错cv2导入失败,如图:
Import "cv2" could not be resolved Pylance
但是在命令行/终端中可以正常运行,无错。

且,无论opencv虚拟环境下是否有opencv的包,均可运行。

此时,若在settings.json中的
settings.json
(也可通过Ctrl+Shift+P,找到“首选项>打开设置json”选项打开此文件)
加入:

 "python.analysis.extraPaths": [
     "C:\\Anaconda3",        // 自定义模块的相对路径,可多个,可绝对路径
     "C:\\Anaconda3\\envs\\opencv\\Lib\\site-packages"
 ]
 // C:\\Anaconda3是Anaconda3文件安装目录

便能取消问题报错。

4. Anaconda3(2020.10版本)在base环境下安装opencv

当我pip uninstall opencv-python时,在base虚拟环境下安装opencv,命令如下:

conda install opencv

无论是否通过pip命令安装opencv-python,还是是否在opencv环境下通过conda命令安装opencv,均可在命令行/终端中正常运行,但是,在问题中仍有报错(同上图)。

不过在此状态下无论settings,json中是否有python.analysis.extraPaths都不会消除报错,实在是不解。

总结

以上可以看出,只要能通过pip安装opencv-python或者在base环境下安装opencv,那么就可以运行项目。

但如果是这样,虚拟环境又有何意义?能起什么作用呢?

如有大佬能看到这个文章,希望能予以解答,感激不尽。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值