用 conda 安装 opencv

Posted

技术标签:

【中文标题】用 conda 安装 opencv【英文标题】:Install opencv with conda 【发布时间】:2019-12-02 19:50:16 【问题描述】:

这个问题不同于“如何通过 Conda 安装 Python OpenCV?”因为这个问题是在 5 年前提出的,当时所有的软件包都有不同的版本。我尝试了该问题的所有答案,但都没有奏效。有关详细信息,请参阅问题文本。

现在,2019 年 7 月,如何使?在新安装的 anaconda 上,我做了conda update conda(成功)然后尝试了以下操作:

(base) C:\Users\mlearning>python
Python 3.7.3 (default, Mar 27 2019, 17:13:21) [MSC v.1915 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'cv2'
>>> import cv
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'cv'

(base) C:\Users\mlearning>conda install -c menpo opencv3
Collecting package metadata (repodata.json): done
Solving environment: (goes into infinite loop, after 10 minutes I pressed ^C)

(base) C:\Users\mlearning>conda install opencv
Collecting package metadata (repodata.json): done
Solving environment: failed
Initial quick solve with frozen env failed.  Unfreezing env and trying again.
Solving environment: failed

UnsatisfiableError: The following specifications were found to be incompatible with each other:

Package zipp conflicts for:
importlib_metadata -> zipp[version='>=0.3.2']
path.py -> importlib_metadata[version='>=0.5'] -> zipp[version='>=0.3.2']
anaconda==2019.03=py37_0 -> importlib_metadata==0.8=py37_0 -> zipp[version='>=0.3.2']
zipp
Package importlib_metadata conflicts for:
anaconda==2019.03=py37_0 -> importlib_metadata==0.8=py37_0
path.py -> importlib_metadata[version='>=0.5']
Package hdf5 conflicts for:
anaconda==2019.03=py37_0 -> h5py==2.9.0=py37h5e291fa_0 -> hdf5[version='>=1.10.4,<1.10.5.0a0']
hdf5
opencv -> hdf5[version='>=1.10.2,<1.10.3.0a0,>=1.8.18,<1.8.19.0a0,>=1.8.20,<1.9.0a0']
h5py -> hdf5[version='>=1.10.1,<1.10.2.0a0,>=1.10.2,<1.10.3.0a0,>=1.10.4,<1.10.5.0a0,>=1.8.18,<1.9.0a0']
pytables -> hdf5[version='>=1.10.1,<1.10.2.0a0,>=1.8.18,<1.8.19.0a0,>=1.8.18,<1.9.0a0']
Package mkl-service conflicts for:
mkl-service
anaconda==2019.03=py37_0 -> mkl-service==1.1.2=py37hb782905_5

(base) C:\Users\mlearning>conda install -c conda-forge opencv
Collecting package metadata (repodata.json): done
Solving environment: failed
Initial quick solve with frozen env failed.  Unfreezing env and trying again.
Solving environment: failed

UnsatisfiableError: The following specifications were found to be incompatible with each other:

Package hdf5 conflicts for:
anaconda==2019.03=py37_0 -> hdf5==1.10.4=h7ebc959_0
h5py -> hdf5[version='1.10.1,1.8.17|1.8.17.*,1.8.18|1.8.18.*,>=1.10.2,<1.10.3.0a0,>=1.10.3,<1.10.4.0a0,>=1.8.20,<1.9.0a0']
pytables -> hdf5[version='1.8.18|1.8.18.*,>=1.10.4,<1.10.5.0a0,>=1.8.18,<1.8.19.0a0,>=1.8.18,<1.9.0a0']
hdf5
Package mkl-service conflicts for:
mkl-service
Package importlib_metadata conflicts for:
importlib_metadata
path.py -> importlib_metadata[version='>=0.5']

【问题讨论】:

How do I install Python OpenCV through Conda?的可能重复 使用conda install -c conda-forge opencv。或者更好的是,为它创建一个新的环境并让 Conda 解析最适合它的 Python 版本:conda create --name env_name -c conda-forge opencv @merv - 它不是那个问题的重复,因为我尝试了所有,我重复了那个问题的所有答案。它们都不起作用,这是我写的。 @merv "使用 conda install -c conda-forge opencv" - 它不起作用。在我的问题中,正是这个命令,以及它产生的诊断。请仔细阅读问题。 @merv 天哪,伙计。我只想说声谢谢。在过去的 12 个小时里,我确实花了 12 个小时试图解决一个小问题,这就是解决方法。谢谢你,你的英雄 【参考方案1】:

我在使用 conda 安装 opencv 时遇到了无数问题 这是我的方法,如果您还没有环境,请创建一个环境

conda create -n py36 python=3.6
conda activate py36

pip 安装opencv conda

pip install opencv-python

如果还是有问题,卸载opencv,更新ffmpeg

conda install -c conda-forge ffmpeg 

然后重新运行pip

2020 年更新

在环境激活时安装 pip

conda install pip

验证 pip 是否在您的环境中

whereis
pip: /path/anaconda3/envs/your_env/bin/pip

用 pip 安装 opencv

~/anaconda3/envs/your_env/bin/pip3 install opencv-python

【讨论】:

我在使用 conda 安装 opencv 时遇到了无数问题 你能详细说明一下吗?为此使用 pip 确实应该是最后的手段。 2020 年 6 月不工作;导致“ImportError: DLL load failed: The specified module could not be found”。【参考方案2】:

创建一个全新的环境,让 conda 处理兼容性问题:

conda create -n cv -c conda-forge opencv matplotlib

这将使用 python、opencv 和 matplotlib 创建一个名为“cv”的新环境。

今天(2019 年 11 日)安装:

Python 3.7.3 OpenCV 4.1.1 MatPlotLib 3.1.1 Numpy 1.17.2 ...以及所有其他依赖项。

【讨论】:

【参考方案3】:

直接运行

pip install opencv-python

在 spyder 上

【讨论】:

【参考方案4】:

我遇到了类似的问题(只有 hdf5 冲突)。 原因是使用了不兼容的python版本。

在安装openCV之前创建新的python3.6环境怎么样? 您可以像这样创建新环境。

$ conda create -n py36 python=3.6

此外,您还应该键入此命令来激活。

$ 激活 py36

【讨论】:

为什么不围绕 OpenCV 是您想要安装的事实从一开始就创建环境呢?即conda create -n opencv_env opencv。如果你想要 Python 3.6,你也可以指定:conda create -n opencv_env opencv python=3.6 @merv 没有特别的原因。如果我不得不说,我不知道 conda 命令的符号。 在安装openCV之前创建一个新的python3.6环境怎么样?你应该为每个项目使用一个单独的环境。【参考方案5】:

我遇到了类似的问题。使用以下内容安装它,它对我有用:

pip install opencv-python

上面的pypi在https://pypi.org/project/opencv-python/

【讨论】:

您能详细说明您遇到的问题吗?【参考方案6】:

最简单的方法是:

conda install pip
pip install opencv-python

玩得开心!

【讨论】:

【参考方案7】:

您可以创建新的 conda 环境,然后安装它可能会解决问题:

conda create -n py36
conda activate py36

【讨论】:

你看过我的帖子了吗?除其他外,我确实做到了这一点,但没有奏效。

以上是关于用 conda 安装 opencv的主要内容,如果未能解决你的问题,请参考以下文章

用 conda 安装 opencv

怎么检测opencv安装anaconda

使用 Conda 和 Spyder 安装 OpenCV

win10下面opencv安装

ubuntu18.04 下利用conda安装opencv3

TitanX Server安装Caffe