2014-04-19 12 views
33

Ho un problema di perplessità. Ho usato mac versione 10.9, anaconda 3.4.1, python 2.7.6.Errore di runtime lxml: Motivo: Versione libreria incompatibile: etree.so richiede la versione 12.0.0 o successiva, ma libxml2.2.dylib fornisce la versione 10.0.0

Sviluppo di applicazioni Web con python-amazon-product-api. ho superato un ostacolo sull'installazione di lxml, facendo riferimento a clang error: unknown argument: '-mno-fused-madd' (python package installation failure).

ma si è verificato un altro errore di runtime. Ecco l'output di 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 

Non sei sicuro di come procedere e hanno cercata qui e altrove per questo particolare errore. Ogni aiuto è molto apprezzato!

+0

Ho trovato una soluzione. Ho rimosso le impostazioni della libreria di virtualenv. Ho reinstallato le librerie richieste dall'app nel percorso python dell'ID locale. Non usate le impostazioni di virtualenv. Scomodo ma il problema è stato risolto. – BlueFrog

risposta

9

Stavo avendo lo stesso problema. Mi sono reso conto che durante pip installare per la mia web app, lxml stava tentando il seguente:

"Costruire contro libxml2/libxslt nella seguente directory:/Users/[mi]/Anaconda/lib"

Non

100% certo perché, ma una volta ho rimosso l'anaconda/bin dal mio percorso di sistema in bash_profile (anaconda se lo infila dentro durante l'installazione) sono stato in grado di installare correttamente lxml. Dopo di che dovresti essere in grado di aggiungere nuovamente anaconda/bin al tuo percorso di sistema senza problemi.

+0

Questo lo ha risolto anche per me! Grazie! –

41

Se si utilizza Conda, forzare una reinstallazione di lxml:

$ conda install -f lxml

nota che forzare una reinstallazione può avere conseguenze imprevisti.

Ho provato per la prima volta a conda update lxml.

Quindi provato conda install lxml anche senza alcun effetto (ma quello era qualche tempo fa e ymmv - vedi commento).

+4

questa è la soluzione corretta – vgoklani

+1

'conda install lxml' ha funzionato per me (nel mio caso l'opzione '-f' non era richiesta) ...l'altra risposta di seguito (conda install libxml2) non ha funzionato. – nathanielng

+0

@nathanielng grazie - modificato per includere – bahmait

6

ho farlo funzionare nel modo seguente:

conda install libxml2 
92

questo ha funzionato per me:

brew install libxml2 
brew install libxslt 
brew link libxml2 --force 
brew link libxslt --force 
+7

Ha funzionato anche per me grazie per quello !! – Romain

+1

Grazie! Confermo che questo ha funzionato anche per me :) – thyagx

+1

Homebrew era l'unico modo che ha funzionato per me. Ho provato tutti gli altri suggerimenti ma non va bene. –

0

considerare l'utilizzo di un canale alternativo a 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 

Poi, raccogliendo un canale, lo faccio:

conda install pyquery -c CS109 
0

Ho provato quasi tutti gli approcci sopra e fallito. Che cosa ha funzionato per me stava commentando il

export DYLD_LIBRARY_PATH=/usr/lib 

nel mio profilo bash. Questa riga viene aggiunta automaticamente dal programma di installazione di anaconda.

Problemi correlati