导入 CV2 时收到来自灵漱/"猪草"的错误



我从未见过这样的错误,也不知道从哪里开始。我安装了带有的opencv

conda install opencv

我使用名为fpn的conda环境运行Ubuntu Linux 18.04。我应该如何调试它?

Traceback (most recent call last):
File "test.py", line 5, in <module>
import cv2
ImportError: /home/s/miniconda3/envs/fpn/lib/python3.7/site-packages/../../././libgnutls.so.30: symbol mpn_add_1 version HOGWEED_4 not defined in file libhogweed.so.4 with link time reference

最近发布的用于Conda的opencv包似乎有问题。我测试了所有4.x版本,发现问题从4.3开始出现。除非你真的依赖>4.3,强制4.3之前的版本解决了问题,

name: test
channels:
- anaconda
- conda-forge
dependencies:
- python>=3.8
- opencv<4.3

在我的情况下,这安装了4.2.0。那么在Python中导入cv2就可以了。请注意,使用conda update对我不起作用,我仍然收到了错误,但我必须首先删除环境,然后重新创建它。我认为这种行为表明错误源于opencv的一些依赖关系,当使用conda update时,它没有被适当地降级。

我不认为这是一个真正的解决方案,但通过的pip安装

pip install opencv-python

确实可以正常工作。难道不应该有一种安装conda的方法吗?

问题似乎发生在conda-forge和anaconda包之间的混合中,这两个包不兼容。我遇到了同样的问题;最终的问题是配置conda-forge的优先级低于anaconda。这导致在有选项的情况下安装了不兼容的anaconda包。当然,这是一个坏主意——因为conda-forge假设了anaconda的可用性,而则不然

最新更新