web-dev-qa-db-fra.com

Erreur d'exécution lxml: Raison: Version de bibliothèque incompatible: etree.so nécessite la version 12.0.0 ou ultérieure, mais libxml2.2.dylib fournit la version 10.0.0

J'ai un problème déroutant. J'ai utilisé la version 10.9 de mac, anaconda 3.4.1, python 2.7.6.

Développement d'application web avec python-Amazon-product-api. j'ai surmonté un obstacle concernant l'installation de lxml, référençant erreur de clang: argument inconnu: '-mno-fused-madd' (échec d'installation du paquet python) .

mais une autre erreur d'exécution s'est produite. Voici la sortie de 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

Je ne sais pas comment procéder et j'ai recherché ici et ailleurs cette erreur particulière. Toute aide est très appréciée!

38
BlueFrog

J'avais ce même problème. J'ai réalisé que lors de l'installation de pip pour mon application web, lxml tentait ce qui suit:

"Compilation avec libxml2/libxslt dans le répertoire suivant:/Users/[me]/anaconda/lib"

Je ne sais pas à 100% pourquoi, mais une fois que j'ai supprimé l'anaconda/bin de mon chemin système dans bash_profile (anaconda le colle là-dedans lors de l'installation), j'ai pu installer correctement lxml. Après quoi, vous devriez pouvoir ajouter à nouveau anaconda/bin à votre chemin système sans problème.

10
daroo

Cela a fonctionné pour moi:

brew install libxml2
brew install libxslt
brew link libxml2 --force
brew link libxslt --force
102
jessems

Si vous utilisez conda, forcez une réinstallation de lxml:

$ conda install -f lxml

Notez que forcer une réinstallation peut avoir des conséquences imprévues.

J'ai d'abord essayé conda update lxml sans effet.

Puis essayé conda install lxml aussi sans effet (mais c'était il y a quelque temps et ymmv - voir commentaire).

42
scharfmn

J'obtiens ceci au travail en faisant ce qui suit:

conda install libxml2
7
dvreed77

J'ai essayé presque toutes les approches ci-dessus et j'ai échoué. Ce qui a fonctionné pour moi a été de commenter

export DYLD_LIBRARY_PATH=/usr/lib

dans mon profil bash. Cette ligne est ajoutée automatiquement par le programme d'installation anaconda.

0
Alex Joseph

Envisagez d'utiliser un canal alternatif dans 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

Ensuite, en choisissant une chaîne, faites:

conda install pyquery -c CS109
0
jbn