问题
I have a perplexing problem. I have used mac version 10.9, anaconda 3.4.1, python 2.7.6.
Developing web application with python-amazon-product-api. i have overcome an obstacle about installing lxml, referencing clang error: unknown argument: '-mno-fused-madd' (python package installation failure).
but another runtime error happened. Here is the output from webbrowser.
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
Not sure how to proceed and have searched here and elsewhere for this particular error. Any help is much appreciated!
回答1:
I was having this same issue. I realized that during pip install for my web app, lxml was attempting the following:
"Building against libxml2/libxslt in the following directory: /Users/[me]/anaconda/lib"
Not 100% sure why, but once I removed the anaconda/bin from my system path in bash_profile (anaconda sticks it in there when installing) I was able to pip install lxml correctly. After which you should be able to re-add anaconda/bin to your system path without issue.
回答2:
This worked for me:
brew install libxml2
brew install libxslt
brew link libxml2 --force
brew link libxslt --force
回答3:
If using conda, force a reinstall of lxml
:
$ conda install -f lxml
Note that forcing a reinstall may have unforeseen consequences.
I first tried conda update lxml
to no effect.
Then tried conda install lxml
also to no effect (but that was a while ago and ymmv -- see comment).
回答4:
I get this to work by doing the following:
conda install libxml2
回答5:
Consider using an alternative channel in conda.
$ 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
Then, picking a channel, do:
conda install pyquery -c CS109
回答6:
I tried almost all approaches above and failed. What worked for me was commenting out the
export DYLD_LIBRARY_PATH=/usr/lib
in my bash profile. This line is added by the anaconda installer automatically.
来源:https://stackoverflow.com/questions/23172384/lxml-runtime-error-reason-incompatible-library-version-etree-so-requires-vers