jupyter notebook 中报错 ModuleNotFoundError: No module named ‘cv2‘
说明:
-
今天在使用conda 安装opencv 后,在
cmd
下正常import cv2
-
但是进入Jupyter Notebook 后
import cv2
失败,报错ModuleNotFoundError: No module named 'cv2'
原因:
发现在conda
下安装的包,在 Jupyter Notebook 里面却无法调用。
同时发现 Jupyter 的 Kernel 只有Python 3一个环境,不显示 conda create
我添加的其他环境,因此无法调用到当前环境下的cv包
所以解决 Kernel 问题。
1. 在Jupyter Notebook 中查看Kernel
如果你打开只有一个 Python 3 那个环境,说明你来对地方了。
问题解决:
查看Kernel
-
使用下面命令查看当前所有可用的Kernel :
jupyter kernelspec list
手动添加Kernel
- 安装ipykernel:
conda install ipykernel
- 手动添加 Kernel
python -m ipykernel install --name stm32 --display-name "stm32h7"
-
--name
被用于 Jupyter 内部,对应 第1步查询那里显示的名称,注意:该命令会覆盖具有相同名称的kernel -
--display-name
在打开 Jupyter—Kernel—Change Kernel 里面显示的名称
此时发现可以成功import cv2
,这里一定要注意:所有的操作要在你当前的环境下使用,不要在(base)
里安装opencv
,却在其他环境里调用,那肯定是不行的!!!
其他:
-
可以下面命令删除 Kernel
jupyter kernelspec remove stm32
-
查看当前环境的 Python 环境路径:
import sys sys.executable
Anaconda 使用说明:
因为我使用的是Anaconda 创建了多个环境,所以针对新手有必要讲解下,懂的可以直接跳到:
-
conda create -n xxxx python==3.6
—— 创建一个名字叫xxx的环境,并为该环境安装 Python=3.6 -
activate xxxxx
—— 激活进入xxxx的环境当此时 命令行前面的
(base)
变为(xxxx)
你创建的环境名就好了 -
jupyter notebook
—— 打开浏览器并进入Jupyter Notebook因为conda 可以支持多个环境并同时互不干扰,
同时激活xxxx环境的情况下 进行第3部,你在Jupyter 中使用的包也只能使用当前xxxx环境下安装的包具体Anaconda使用,可以参考:基于Anaconda安装不同版本的Python
更多推荐
所有评论(0)