Jupyter笔记本上的cv2导入错误

Posted

技术标签:

【中文标题】Jupyter笔记本上的cv2导入错误【英文标题】:cv2 import error on Jupyter notebook 【发布时间】:2016-11-01 17:34:45 【问题描述】:

我正在尝试在 Jupyter 笔记本 上导入 cv2,但出现此错误:

ImportError: No module named cv2

我很沮丧,因为我已经在这个简单的问题上工作了好几个小时。它适用于 Pycharm,但不适用于 Jupiter notebook。我已经将 cv2 安装到 Python2.7 的站点包中,将 Jupyter 的内核配置为 python2,浏览了文档,但我仍然没有得到我所缺少的东西?

(我正在使用 Windows 10 并使用 Microsoft Cognitives api,这就是我需要导入此包的原因。)

代码如下:

 <ipython-input-1-9dee6ed62d2d> in <module>()
----> 1 import cv2
      2 cv2.__version__

我应该怎么做才能完成这项工作?

【问题讨论】:

【参考方案1】:

您的 python 路径是否在正确的位置?检查 python 在哪里寻找模块。在笔记本内尝试:

import os
os.sys.path

cv2 模块是否位于这些目录中?如果不是你的路径是在错误的地方寻找。如果它忽略了安装位置,请将其附加到您的 python 路径中。您可以按照here的说明进行操作。

【讨论】:

谢谢,我在 Anaconda2 文件中安装了 cv2,它可以工作了。 我遇到了同样的问题。必须在活动环境中安装 Jupyter,以便将 jupyter notebook 链接到安装了 opencv2 包的环境【参考方案2】:

我的 Python3 内核中没有安装 openCV,所以我通过激活特定环境并在命令提示符下运行它来安装它:

pip install opencv-python

如何找到并激活我的环境?

要列出您的所有 conda 环境,请运行以下命令:

conda info --envs

你会得到这样的东西:

ipykernel_py2            D:\Anaconda\envs\ipykernel_py2
root                     D:\Anaconda

之后,激活抱怨缺少cv2 的环境并运行pip install opencv-python 命令。

如何激活环境?

只需运行命令:

activate env_name

其中env_name 是所需的环境(例如,如果您想访问上面列出的两个环境中的第一个,则可以键入activate ipykernel_py2)。

注意:如果您使用的是 Linux,则需要输入 source activate env_name

【讨论】:

【参考方案3】:

转到您的笔记本,在菜单部分中

kernel -&gt; Change kernel -&gt; Python&lt;desired version&gt;

现在在笔记本中运行以下命令,在选定的环境内核中安装 opencv2

python2:

!pip install opencv-python

python3:

!pip3 install opencv-python

【讨论】:

【参考方案4】:

为了让那些有同样问题的人明白这一点:

默认情况下:Anaconda(jupyter notebook)一旦安装在您的 PC 上,就会拥有自己的 Python 版本和软件包。

如果您的 PC 上安装了 Python x.x,并且您使用此 python 版本的包管理器安装了 OpenCV 或任何包,这并不意味着您的 jupyter notebook 将可以访问您之前安装的这些 python 包。他们不在同一个文件夹中。

为了说明这一点,打开你的 windows CMD 并写:

`python` 

然后写:

import os
os.path

你会得到你的 python 的路径。在我的情况下 (C:\Python35)

现在打开 Anaconda Prompt 并再次编写相同的命令:

`python` 

然后写:

import os
os.path

您将获得 anaconda 的 python 路径。就我而言(C:\Users\MY_NAME\Anaconda3)。

如您所见,python 有两种不同的路径,因此请确保诊断此类错误(没有名为 x 的模块)的第一步是问自己是否将软件包安装在正确的位置!

注意:您可以在 Anaconda 本身中创建环境,每个环境中可能安装了不同的软件包,因此您还必须确保您处于正确的环境中并且它是活跃的环境。

【讨论】:

【参考方案5】:

Binmosa 的解释很棒而且中肯。作为替代方案(更简单,但我很确定这只是一个创可贴修复),如果你写:

    import sys
    !sys.executable -m pip install opencv-python

直接安装到您的笔记本中,您就可以在笔记本中实际安装模块。

不过,较长的解释很有趣且内容丰富。链接:https://jakevdp.github.io/blog/2017/12/05/installing-python-packages-from-jupyter/

【讨论】:

【参考方案6】:

这是因为 opencv 库。 尝试在 anaconda 提示符下运行此命令:

conda install -c conda-forge opencv

【讨论】:

【参考方案7】:

您可以简单地打开 Jupyter Notebook 并在任何单元格中输入:

pip install opencv-python

它会自动安装文件 注意:保持打开您的互联网连接

然后在下一个单元格中:

import cv2

它会起作用的。

【讨论】:

【参考方案8】:

我还在路径变量中添加了 \envs\myenv\Library\bin 并且它得到了解决。

【讨论】:

非常简短的答案、琐碎的答案或者在这种情况下可能有用的建议最好放在评论中。【参考方案9】:

您需要为 jupyter notebook 安装 ipykernel。请按照以下步骤操作:

python -m virtualenv env
source env/bin/acitivate
pip install opencv-contrib-python
pip install ipykernel --upgrade
python -m ipykernel install --user
jupyter notebook

【讨论】:

【参考方案10】:

在我的基础(根)环境中使用 Anaconda Navigator “安装”了 opencv 包后,我的 Jupyter Notebook 中出现了这个问题。

但是,在“安装”包及其依赖项后,Anaconda Navigator 会显示一个提醒弹出窗口以更新到下一个 Anaconda Navigator 版本。起初我忽略了这一点,但无法在我的 Jupyter Notebook 中使用 opencv 包。

在我确实将 Anaconda Navigator 更新到较新版本后,opencv 包安装工作正常。

【讨论】:

【参考方案11】:
pip install opencv-python

这解决了我在 MacOS 中的错误。

【讨论】:

【参考方案12】:

我有类似的问题。上述解决方案都不适合我。我在笔记本上做了以下操作,解决了这个问题

!pip install opencv-python
!pip install opencv-python-headless

【讨论】:

以上是关于Jupyter笔记本上的cv2导入错误的主要内容,如果未能解决你的问题,请参考以下文章

Ipython笔记本(jupyter),opencv(cv2)和绘图?

为啥在 Jupyter 笔记本中调用 cv2.imshow() 时出现无响应窗口

尝试运行 jupyter notebook 时出现导入错误

如何修复当我尝试导入任何东西时看到的 Jupyter 笔记本中的错误

将python文件导入jupyter笔记本

Docker 上的 Jupyter 笔记本 - 权限被拒绝