Jupyter笔记本上的cv2导入错误

Hir*_*uri 4 python opencv jupyter-notebook

我正在尝试在Jupyter笔记本上导入cv2,但是我收到了这个错误:

ImportError: No module named cv2
Run Code Online (Sandbox Code Playgroud)

我很沮丧,因为我现在正在处理这个简单的问题几个小时.它适用于Pycharm但不适用于Jupiter笔记本.我已经将cv2安装到Python2.7的站点包中,将Jupyter的内核配置为python2,浏览文档但我仍然没有得到我所缺少的内容?

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

这是代码:

 <ipython-input-1-9dee6ed62d2d> in <module>()
----> 1 import cv2
      2 cv2.__version__
Run Code Online (Sandbox Code Playgroud)

为了使这项工作,我该怎么办?

plf*_*ick 10

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

import os
os.sys.path
Run Code Online (Sandbox Code Playgroud)

cv2模块是否位于任何这些目录中?如果不是你的路径看错了地方.如果它正在俯瞰安装位置,请将其附加到您的python路径.您可以按照此处的说明操作.


bin*_*osa 7

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

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

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

为了说明这一点,请打开 Windows CMD 并写入:

python
Run Code Online (Sandbox Code Playgroud)

然后写:

import os
os.path
Run Code Online (Sandbox Code Playgroud)

你会得到你的Python的路径。就我而言(C:\Python35)

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

你会得到 anaconda 的 python 路径。就我而言(C:\Users\MY_NAME\Anaconda3)。

正如您所看到的,Python 有两个不同的路径,因此请确保诊断此类错误(No module named x)的第一步是问问自己是否将该包安装在正确的位置!

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


Ale*_*dar 6

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

pip install opencv-python
Run Code Online (Sandbox Code Playgroud)

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

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

conda info --envs
Run Code Online (Sandbox Code Playgroud)

您将获得如下内容:

ipykernel_py2            D:\Anaconda\envs\ipykernel_py2
root                     D:\Anaconda
Run Code Online (Sandbox Code Playgroud)

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

如何激活环境?

只需运行以下命令:

activate env_name
Run Code Online (Sandbox Code Playgroud)

env_name所需的环境在哪里(例如,activate ipykernel_py2如果要访问上面列出的两个环境中的第一个,则可以键入)。

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


小智 6

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

    import sys
    !{sys.executable} -m pip install opencv-python
Run Code Online (Sandbox Code Playgroud)

直接安装到您的笔记本中,您将能够实际将该模块安装在笔记本本身中。

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


Sho*_*med 5

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

kernel -> Change kernel -> Python<desired version>

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

蟒蛇2:

!pip install opencv-python

蟒蛇3:

!pip3 install opencv-python

  • 对于 Python 3 支持的 Jupyter,请现在从笔记本内部使用更现代的“%pip install &lt;package&gt;”魔术命令。有关更多信息,请参阅我的评论[在同一页面](/sf/answers/4943999931/)。 (2认同)