通过Anaconda为Python安装OpenCV时出现UnsatisfiableError

时间:2019-07-22 03:49:20

标签: python opencv anaconda

我尝试了多种通过Anaconda安装OpenCV的方法,但总是会遇到相同的错误。

我尝试通过Anaconda Navigator和Anaconda Prompt安装。

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



Package hdf5 conflicts for:
pytables -> 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.8.19.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']
anaconda==2019.03=py37_0 -> hdf5==1.10.4=h7ebc959_0
h5py -> hdf5[version='>=1.10.1,<1.10.2.0a0,>=1.10.2,<1.10.3.0a0,>=1.8.18,<1.8.19.0a0,>=1.8.20,<1.9.0a0']
Package mkl-service conflicts for:
mkl-service
Package zipp conflicts for:
importlib_metadata -> zipp[version='>=0.3.2,>=0.5']
zipp
anaconda==2019.03=py37_0 -> importlib_metadata==0.8=py37_0 -> zipp[version='>=0.3.2']
Package importlib_metadata conflicts for:
anaconda==2019.03=py37_0 -> importlib_metadata==0.8=py37_0

5 个答案:

答案 0 :(得分:4)

即使在尝试通过conda安装opencv时遇到冲突。 因此,我尝试使用下面的pip命令here安装opencv。

pip install opencv-python

您将看到opencv开始在您的系统上安装,大小约为37MB

要检查opencv和其他已安装软件包的版本

使用命令:

conda list

它将列出所有已安装的软件包及其版本号

要在python脚本中使用opencv, 使用以下导入:

import cv2
print(cv2.__version__) #prints the version of opencv installed

答案 1 :(得分:3)

Anaconda 2019.07,我发现了同样的问题,可能会对您有所帮助。

尝试使用 conda update --all 在Conda中更新您的软件包,然后会有一些通知,这意味着需要安装一些软件包才能满足要求。只需输入“ y”进行确认。 y 然后应该开始安装opencv 之后,使用import cv2 cv2.__version__可以打印opencv的版本“ 3.4.1”

答案 2 :(得分:0)

解决依赖关系冲突的最简单方法是使用conda enviroments。只需创建一个新环境并在其中安装opencv。您也可以运行conda uninstall hdf5 mkl-service zipp importlib_metadata,但这可能会使已安装的软件包不可用。

答案 3 :(得分:0)

删除hdf5并不是一个好主意,因为它还会删除jupyter软件包:

> conda uninstall hdf5
Collecting package metadata (repodata.json): done
Solving environment: done
[..]
  removed specs:
    - hdf5
[..]
The following packages will be REMOVED:

  alabaster-0.7.12-py37_0
  anaconda-2019.07-py37_0
  anaconda-project-0.8.3-py_0
  [..]
  jupyter-1.0.0-py37_7
  jupyter_console-6.0.0-py37_0
  [..and a lot more]

它将总共删除155个软件包,其中包括jupyter软件包,然后您将无法运行Jupyter Notebooks,出现类似错误

ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-1-c65cee9c4793> in <module>
      1 get_ipython().run_line_magic('clear', 'all')
----> 2 get_ipython().run_line_magic('matplotlib', 'inline')
      3 
      4 import numpy as np
      5 import cv2

我目前也在调查opencv和Anaconda 2019.07的问题;一种替代方法是安装Anaconda 2019.03,在该版本中opencv仅与其他几个(不重要的)程序包发生冲突。

答案 4 :(得分:0)

我也遇到了像您一样的问题。我终于解决了。您可以先删除此软件包。然后安装OpenCV。在安装openCV的过程中,anaconda将帮助您再次安装其他已打包的软件包。因此,您不必担心丢失软件包。以及如何删除与opencv冲突的软件包? 建议您输入“ conda remove hdf5”。希望对你有帮助!