libxml2 ImportError при импорте etree из lxml
Я пытаюсь запустить python-docx в Enthought Canopy. Я использую Ubuntu 14.04 на VMWare Worstation 10. Всякий раз, когда я пытаюсь импортировать docx или импортировать etree из lxml, я получаю сообщение об ошибке, которое, похоже, связано с библиотекой libxml2:
ImportError: /usr/lib/x86_64-linux-gnu/libxslt.so.1: symbol xmlBufUse, version LIBXML2_2.9.0 not defined in file libxml2.so.2 with link time reference
Я проверил и нашел другого человека с похожей ошибкой, и я следовал инструкциям. Все еще не повезло. Затем я понял, что у меня на компьютере установлена версия 2.9.1 libxml2.
Означает ли это, что мне нужно получить более старую версию 2.9.0 libxml2, или что-то еще происходит? Я могу найти 2.9.1 с помощью apt-get, но не 2.9.0. Прежде чем отправиться в путь, я подумала, что у кого-то есть идея получше.
Спасибо!
2 ответа
Просто установите пакет ниже.
Для Ubuntu
apt-get install libxslt-dev
Для Centos
yum install libxslt-devel
У меня нет большого опыта работы с Ubuntu, но эта проблема определенно существует между lxml и libxml2 и / или libxslt. Единственная причина, по которой это происходит при запуске python-docx, заключается в том, что это вызывает импорт lxml.
Я бы попробовал удалить lxml и переустановить. Я смутно помню жесткую связь lxml с libxml2 и libxslt, но это было довольно давно. Вероятно, существует несоответствие версий между тем, с чем связан lxml, и установленными версиями.
Если бы это не помогло, я бы посмотрел глубже при установке libxml2 и libxslt. Вот несколько популярных советов: как установить lxml в Ubuntu
Python-docx не будет ужасно требователен к наличию самого последнего пакета lxml, если есть один, который вы можете получить с apt, он должен работать просто отлично.