При попытке импортировать пакет lxml в Python я получаю следующую ошибку.
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. Вам нужно перекомпилировать один из них, чтобы они использовали тот же режим.