如何处理:ImportError:/usr/lib/x86_64-linux-gnu/libatk-1.0.so.0:未定义的符号:g_log_structured_standard

时间:2018-05-04 14:29:12

标签: python opencv error-handling

我安装了macbook pro虚拟机,安装了anaconda(来自https://www.continuum.io),并安装了openCV(conda install -c menpo opencv)

执行python:

python
Python 2.7.14 |Anaconda, Inc.| (default, Dec  7 2017, 17:05:42) 
[GCC 7.2.0] on linux2

并尝试导入openCV:

>>> import cv2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: /usr/lib/x86_64-linux-gnu/libatk-1.0.so.0: undefined symbol: g_log_structured_standard

我搜索了这个错误,但没有多少关于这个的条目,我发现的那些都没有解决。

我甚至不明白错误是什么,所以不知道如何解决它。

我已经在其他系统中多次安装Anaconda和opencv而没有任何问题。

知道如何解决这个错误吗?

3 个答案:

答案 0 :(得分:5)

在Ubuntu 18.04中,问题似乎与@VamsidharReddyGaddam所假定的相反。

我检查了: grep -l g_log_structured_standard /usr/lib/x86_64-linux-gnu/*glib*.so* # and grep -l g_log_structured_standard ~/anaconda3/lib/*glib*so*

,第一个find成功,第二个没有成功。

我认为/usr/lib/x86_64-linux-gnu/libatk-1.0.so.0是针对较新的libglib(在ubuntu 18.04上的/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.1)进行编译/链接的,而不是anaconda安装的版本(~/anaconda3/lib/libglib-2.0.so.0.5306.0)。

因此,不同的肮脏黑客可以“帮助”:

mv〜/ anaconda3 / lib / libglib-2.0.so.0〜/ anaconda3 / lib / libglib-2.0.so.0.backup

在Ubuntu 18.04中。 :/(我怀疑以后可能会带来其他问题!)

我们如何在anaconda中填写问题?

答案 1 :(得分:4)

是的,我检查一下,更新lib是好的。 使用推荐conda install -c anaconda glib

答案 2 :(得分:0)

对我来说,我意识到我的 anaconda 在 python3.7 上运行,它所指的 python 程序在 anaconda 文件夹中,我切换到运行 3.9 版的系统范围的 python 解释器,它对我有用。看看它是否也适合你。