用 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的主要内容,如果未能解决你的问题,请参考以下文章