虚拟环境中安装cv包报错:ModuleNotFoundError: No module named ‘cv2‘

 问题背景:

首先我之前已经在anaconda文件夹下的envs文件夹里建立好了一个虚拟环境python37,然后我用pycharm新建工程时,就直接用了这个已建好的虚拟环境。此时我点进新工程文件夹,发现里面多了一个文件夹教venv。

虚拟环境中安装cv包报错:ModuleNotFoundError: No module named ‘cv2‘

起初我认为是系统自动把我建好的虚拟环境python37复制到了这里,也就是说这个工程目录底下有了自己的虚拟环境,而不是我之前建立的那个。

于是我安装cv包时,就直接在这个新虚拟环境下的Scripts文件夹里安装了(如下图),在这个文件的Scripts目录下输入了

pip install python-opencv

虚拟环境中安装cv包报错:ModuleNotFoundError: No module named ‘cv2‘

然后也安装成功了。

但是当我返回上一级按照教程运行python,输入import cv2或者import cv2 as cv时,却显示ModuleNotFoundError: No module named ‘cv2’。

import cv2
import cv2 as cv

虚拟环境中安装cv包报错:ModuleNotFoundError: No module named ‘cv2‘

 

当时很纳闷,去看了网上的很多方法都不符合我的情况,因为我是安装成功了的,并且在该工程venv文件夹下的Lib文件夹里可以找到cv2包(如图)

虚拟环境中安装cv包报错:ModuleNotFoundError: No module named ‘cv2‘

 并且我尝试了直接在cv2的上一级文件夹site-packages下输入import cv2,发现此时并没有出错

虚拟环境中安装cv包报错:ModuleNotFoundError: No module named ‘cv2‘

 但是再往上一级便又会报出ModuleNotFoundError: No module named ‘cv2’的错误。

但是我看的网课视频中老师演示的却可以直接在D盘运行而不出错。

于是我反复看了几遍视频,发现老师是在anaconda文件夹下的Scripts里运行的pip install,不是在项目里的环境文件夹下。

于是我找到我一开始建立的python37虚拟环境的位置,在其Scripts文件夹下pip install,发现问题就解决啦。

原理思考:

我感觉是因为在项目里添加cv包,本来就是只供这个项目使用(非全局的),所以因为文件夹的一些属性问题,可能只能在上一级中搜索得到。(试过了在pycharm中用没问题,但在cmd窗口可能只能在它的同级目录中能搜索得到)

但是对于在anaconda中创建的虚拟环境,一旦激活便是全局通用,所以在任何目录下运行就都不会出错了。

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2023年3月10日
下一篇 2023年3月10日

相关推荐