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

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

现在,2019 年 7 月,如何使用 conda 安装 opencv?在新安装的 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']

【问题讨论】:

  • 使用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 个小时试图解决一个小问题,这就是解决方法。谢谢你,你的英雄

标签: python opencv anaconda conda


【解决方案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
        

        【讨论】:

        • 你看过我的帖子了吗?除其他外,我确实做到了这一点,但没有奏效。
        猜你喜欢
        • 1970-01-01
        • 2020-11-21
        • 2014-05-31
        • 1970-01-01
        • 2019-04-11
        • 1970-01-01
        • 2019-08-19
        • 2020-05-15
        • 2019-09-23
        相关资源
        最近更新 更多