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, он должен работать просто отлично.

Другие вопросы по тегам