【精选】opencv小白疑惑 您所在的位置:网站首页 python函数第二次运行会出错 【精选】opencv小白疑惑

【精选】opencv小白疑惑

2023-10-21 16:14| 来源: 网络整理| 查看: 265

文章目录 前言一、主要问题:Import "cv2" could not be resolved Pylance二、解决过程1. 在Anaconda3(2020.02版本)下使用pip命令安装opencv-python2. 重装Anaconda3(2020.10版本)在虚拟环境opencv下安装opencv3. Anaconda3(2020.10版本)pip安装opencv-python4. Anaconda3(2020.10版本)在base环境下安装opencv 总结

前言 本人是刚刚接触图像识别的新人一枚。 很早就开通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 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,那么就可以运行项目。

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

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



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有