conda python 3.7 opencv导入错误libgnutls.so.30:未定义符号:mpn_add_1,版本HOGWEED_4

Swa*_*mar 5 opencv conda python-3.7 ubuntu-20.04

我在 Ubuntu 20.04 上的 Conda 中让 opencv 使用 python 3.7 时遇到问题。

当我尝试在 python 中导入 cv2 时出现以下错误:

$ python
Python 3.7.8 | packaged by conda-forge | (default, Jul 23 2020, 03:54:19) 
[GCC 7.5.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: /home/swagat/anaconda3/envs/tf2py37/lib/python3.7/site-packages/../../././libgnutls.so.30: undefined symbol: mpn_add_1, version HOGWEED_4

Run Code Online (Sandbox Code Playgroud)

我的 Conda 配置看起来像这样:


active environment : tf2py37
    active env location : /home/swagat/anaconda3/envs/tf2py37
            shell level : 2
       user config file : /home/swagat/.condarc
 populated config files : 
          conda version : 4.8.5
    conda-build version : 3.18.9
         python version : 3.7.4.final.0
       virtual packages : __cuda=10.1
                          __glibc=2.31
Run Code Online (Sandbox Code Playgroud)

我使用以下命令从 conda-forge 频道安装了 opencv: $ conda install -c conda-forge opencv

我可以看到我的系统上安装了 opencv:

$ conda list opencv
# packages in environment at /home/swagat/anaconda3/envs/tf2py37:
#
# Name                    Version                   Build  Channel
libopencv                 4.5.0                    py37_2    conda-forge
opencv                    4.5.0                    py37_2    conda-forge
py-opencv                 4.5.0            py37hc6149b9_2    conda-forge
Run Code Online (Sandbox Code Playgroud)

我还检查了 gnutls 是否已安装:

$ conda list gnutls
# packages in environment at /home/swagat/anaconda3/envs/tf2py37:
#
# Name                    Version                   Build  Channel
gnutls                    3.6.13               h79a8f9a_0    conda-forge
Run Code Online (Sandbox Code Playgroud)

我还能尝试什么来解决这个问题?我有点被困在这里了。任何帮助将不胜感激。谢谢。

Ale*_*y_M 3

看来 conda 版本的 opencv 坏了。

我的解决方案是:

删除 conda opencv 并安装本机版本:

conda 删除 opencv

python -m pip install opencv-python # 在激活 conda env 的情况下执行此操作