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 -> Change kernel -> Python<desired version>
现在在笔记本中运行以下命令,在选定的环境内核中安装 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() 时出现无响应窗口