我安装了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而没有任何问题。
知道如何解决这个错误吗?
答案 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
)。
因此,不同的肮脏黑客可以“帮助”:
在Ubuntu 18.04中。 :/(我怀疑以后可能会带来其他问题!)
我们如何在anaconda中填写问题?
答案 1 :(得分:4)
是的,我检查一下,更新lib是好的。
使用推荐conda install -c anaconda glib
答案 2 :(得分:0)
对我来说,我意识到我的 anaconda 在 python3.7 上运行,它所指的 python 程序在 anaconda 文件夹中,我切换到运行 3.9 版的系统范围的 python 解释器,它对我有用。看看它是否也适合你。