"undefined symbol: __xmlStructuredErrorContext" 从 lxml 导入 etree

"undefined symbol: __xmlStructuredErrorContext" importing etree from lxml

>>> import lxml
>>> from lxml import etree
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: /usr/local/lib/python3.4/site-packages/lxml/etree.cpython-34m.so: undefined symbol: __xmlStructuredErrorContext

我有 libxml2 和 libxslt,我也尝试过卸载和重新安装,但没有帮助。 lxml版本:3.4.4, python: 3.4.2, OS:RHEL 5.5 请帮忙解决这个问题

谢谢

您的 lxml.etree 版本是针对与您实际安装的版本不同的 libxml2 版本编译的。重新安装 libxml2 没有帮助,因为您只是在重新安装相同的代码。重新安装捆绑现有 etree.cpython-34m.so 二进制文件的二进制文件也不起作用,因为该二进制文件本身已损坏 (it refers to a symbol that isn't exported in all versions of libxml2)。

卸载 Python 模块——不是 C 库——然后从源重新安装。 (pip 应该能够自动执行此操作,假设您安装了用于 libxml2 和 libxslt 的 -devel headers 以及适当的编译器)。