OpenCV 在 Jupyter Notebook 中出错但在 Python CLI 中有效

OpenCV gives an error in the Jupyter Notebook but works in Python CLI

所以,我在 python 中使用 OpenCV。我使用 pip install opencv-python 安装了 opencv-python。每当我尝试使用 Python CLI(运行 python 在命令提示符下然后 运行 import cv2)在我的终端中导入 OpenCV 时,它工作得很好,但是当我尝试在 Jupyter Notebook/Jupyter Lab 中导入它(也使用 import cv2),它给出了以下错误:

ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-1-c8ec22b3e787> in <module>
----> 1 import cv2

~\Anaconda3\lib\site-packages\cv2\__init__.py in <module>
      1 import importlib
      2 
----> 3 from .cv2 import *
      4 from .data import *
      5 

ModuleNotFoundError: No module named 'cv2.cv2'

我知道已经有关于此的主题() but I tried everything in that thread and nothing worked. I also saw this (I do have a pyd file in that directory) and this (nothing works) and even this(安装nb_condajupyter什么都不做)。请帮忙!

编辑: 以下是我尝试过的更多内容:

编辑 2: 看起来这个问题只出现在 jupyter notebook 库使用 . 导入某些东西的时候。例如,当 opencv 尝试导入 .cv2 时会出现此处的错误。几天前我 post 编辑了另一个问题 here 关于 stable-baselinesjupyter notebook 中不工作的问题是模块试图导入 from . import _ufuncs(另一个 . 导入)。 其他人在 Jupyter Notebook 中有这个问题吗?另外,我应该在 . 导入时创建一个新的 Whosebug post 吗?

~阿尤什

是的!我得到答案了!!

所以,当我查看 cv2 库中的 __init__.py 时,我发现了这一行:

from .cv2 import *

所以,我将其更改为:

from cv2.cv2 import *

现在一切正常!希望这对以后的其他人有帮助!