导入 CV2 时收到来自 lingnutls/'Hogweed' 的错误

ros*_*mbo 5 python package

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

conda install opencv
Run Code Online (Sandbox Code Playgroud)

并且正在使用名为 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
Run Code Online (Sandbox Code Playgroud)

the*_*0ID 2

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

name: test
channels:
 - anaconda
 - conda-forge
dependencies:
 - python>=3.8
 - opencv<4.3
Run Code Online (Sandbox Code Playgroud)

在我的例子中,安装的是 4.2.0。cv2那么在 Python 中导入就可以正常工作了。请注意,使用conda update对我不起作用,我仍然收到错误,但我必须先删除环境,然后重新创建它我认为这种行为表明该错误根源于 opencv 的某些依赖项conda update,该依赖项在使用时未正确降级。