Ошибка выполнения lxml: Причина: Несовместимая версия библиотеки: etree.so требуется версия 12.0.0 или новее, но libxml2.2.dylib предоставляет версию 10.0.0
У меня проблема с запутанностью.
Я использовал mac версию 10.9, anaconda 3.4.1, python 2.7.6.
Разработка веб-приложения с помощью python-amazon-product-api. я преодолел препятствие для установки lxml, ссылаясь на clang error: неизвестный аргумент: '-mno-fused-madd' (ошибка установки пакета python).
но произошла другая ошибка времени выполнения.
Вот результат работы веб-браузера.
Exception Type: ImportError
Exception Value:
dlopen(/Users/User_Name/Documents/App_Name/lib/python2.7/site-packages/lxml/etree.so, 2): Library not loaded: libxml2.2.dylib
Referenced from: /Users/User_Name/Documents/App_Name/lib/python2.7/site-packages/lxml/etree.so
Reason: Incompatible library version: etree.so requires version 12.0.0 or later, but libxml2.2.dylib provides version 10.0.0
Не знаете, как действовать и искать здесь и в других местах для этой конкретной ошибки. Любая помощь очень ценится!
Ответы
Ответ 1
У меня была такая же проблема. Я понял, что во время установки pip для моего веб-приложения lxml пытался:
"Построение против libxml2/libxslt в следующем каталоге:/Users/[me]/anaconda/lib"
Не уверен, что 100% почему, но как только я удалил anaconda/bin из моего системного пути в bash_profile (anaconda придерживается его там при установке), я смог правильно установить lxml. После этого вы сможете повторно добавить anaconda/bin в системный путь без проблем.
Ответ 2
Это сработало для меня:
brew install libxml2
brew install libxslt
brew link libxml2 --force
brew link libxslt --force
Ответ 3
Если вы используете conda, принудительно переустановите lxml
:
$ conda install -f lxml
Обратите внимание, что принудительная переустановка может иметь непредвиденные последствия.
Сначала я попробовал conda update lxml
.
Затем попробовал conda install lxml
также не иметь никакого эффекта (но это было давно, а ymmv - см. комментарий).
Ответ 4
Я работаю, выполняя следующие действия:
conda install libxml2
Ответ 5
Рассмотрим использование альтернативного канала в конде.
$ anaconda search -t conda pyquery
Using anaconda-server api site https://api.anaconda.org
Run 'anaconda show <USER/PACKAGE>' to get more details:
Packages:
Name | Version | Package Types | Platforms
------------------------- | ------ | --------------- | ---------------
CS109/pyquery | 1.2.9 | conda | linux-64, win-32, win-64, linux-32, osx-64
: A jquery-like library for python
asmeurer/pyquery | 1.2.6 | conda | osx-64
: https://github.com/gawel/pyquery
auto/pyquery | 1.2.8 | conda | linux-64, linux-32, osx-64
: https://github.com/gawel/pyquery
dan_blanchard/pyquery | 1.2.6 | conda | linux-64
: https://github.com/gawel/pyquery
hargup/pyquery | | conda | None-None, linux-64
: A jquery-like library for python
meloncholy/pyquery | 1.2.9 | conda | linux-64
: A jquery-like library for python
mhworth/pyquery | 1.2.8 | conda | linux-64, osx-64
: A jquery-like library for python
nbsantos/pyquery | 1.2.9 | conda | osx-64
: A jquery-like library for python
pdrops/pyquery | 1.2.8 | conda | linux-64, osx-64
: A jquery-like library for python
ziebel/pyquery | 1.2.9 | conda | linux-64
: A jquery-like library for python
Found 10 packages
Затем, выбрав канал, выполните:
conda install pyquery -c CS109
Ответ 6
Я попробовал почти все подходы выше и не смог. Что сработало для меня, было комментировать
export DYLD_LIBRARY_PATH=/usr/lib
в моем профиле bash. Эта строка добавляется установщиком anaconda автоматически.