在 Ubuntu 中导入 lxml 包 python 时出错

在 Ubuntu 中导入 lxml 包 python 时出错

当我尝试在 python 中导入 lxml 包时,我收到以下错误。

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/dist-packages/lxml/html/__init__.py", line 42, in    <module>
   from lxml import etree
ImportError: /usr/lib/python2.7/dist-packages/lxml/etree.so: undefined symbol:   PyUnicodeUCS4_DecodeLatin1

(Python版本->2.7.5)

答案1

Python可以用两种不同的方式编译模式; UCS2 或 UCS4 – 参见如何确定Python是用UCS-2还是UCS-4编译的?Stackoverflow 上的问题。所有二进制包(如 lxml)必须以与 Python 编译时相同的模式进行编译。看起来您的 lxml 是在 UCS4 模式下编译的,而 Python 是在 UCS2 模式下编译的。您必须重新编译其中之一,以便它们使用相同的模式。

相关内容