在使用python的lxml库时碰到了这样的问题:
安装libxml2、libxml2-devel、 libxslt、 libxslt-devel都没有问题,安装lxml包也没有任何问题。
执行 import lxml 也没有问题,但在执行 from lxml import etree时却出了问题。具体错误日志如下:
ImportError: /home/soft/lxml/lxml-2.3/src/lxml/etree.so: undefined symbol: xmlSchematronSetValidStructuredErrors
仔细分析之后发现,还是因为动态库路径的问题,也就是说etree.so在引用libxml2.so时出错,找不到libxml2.so
解决方法很简单,将libxml2.so的路径添加到库加载路径中即可
具体操作如下:
[root@SY50 lib]# vi /etc/ld.so.conf
在ld.so.conf中添加 /usr/local/lib
[root@SY50 lib]# ldconfig