2013-04-30 12 views
9

Voglio usare xpath in python. Ho provatoErrore nell'utilizzo di etree in lxml

import xml.etree.ElementTree as ET 

Dal momento che questa biblioteca ha limitato l'utilizzo ho dovuto usare lxml dopo una lunga sessione di ricerca su Google. Ho avuto diversi problemi durante l'installazione e, infine, ho installato lxml ma quando uso

from lxml import etree 

getta di nuovo un errore, come di seguito. potresti dirmi la soluzione a questo problema !!!

Traceback (most recent call last): 
File "<pyshell#0>", line 1, in <module> 
from lxml import etree 
ImportError: DLL load failed: %1 is not a valid Win32 application. 

Può any1 dirmi che cosa il problema sarebbe ?? Grazie per l'assistenza !!

+0

Sembra che tu abbia una libreria lxml rotta. Hai provato a reinstallarlo? –

+0

@BasicWolf Ho reinstallato lxml diverse volte. Ho scaricato il file .exe e l'ho eseguito .. Ha completato l'installazione ma continua a generare un errore !! – Sangamesh

+2

@BasicWolf È il problema dei sistemi a 32 bit e 64 bit? perché ho letto in una delle risposte che ha alcuni problemi di compatibilità con i computer a 64 bit ... Questo bug esiste ancora o ci sono dei registri di modifiche? grazie – Sangamesh

risposta

1

Dato che hai menzionato che dovevi combattere con lxml per installarlo, è difficile dire dove in quel processo potrebbe essersi verificato questo errore.

Stai installando lxml all'installazione predefinita di Python o da qualche altra parte? Se stai installando l'installazione predefinita, una delle opzioni .exe da https://pypi.python.org/pypi/lxml/3.2.0 potrebbe essere la soluzione migliore. Anch'io ho dovuto combattere con lxml in alcuni casi, ma quelle opzioni .exe sono il modo più semplice che ho trovato.

Se si sta tentando di installare lxml a qualche altra installazione di Python, io suggerirei utilizzando un file .egg insieme a strumenti di configurazione. Purtroppo, i file .egg più recenti che posso trovare per lxml sono per 2.3 ma li puoi ottenere qui https://botbot.me/freenode/kivy/

1

Ho lo stesso problema. Essenzialmente, il mio sistema operativo è a 64 bit e anche il mio pitone è a 64 bit. Ma gli strumenti e i pacchetti del sito che avevo installato erano a 32 bit tranne che per Ixml che era a 64 bit. Così, ho installato la versione Ixml a 32 bit dal link sottostante e ha funzionato bene per me.

https://pypi.python.org/pypi/lxml/

credo che il sistema è alla ricerca di un po 'di implementazione 32 iXML ma ha trovato invece a 64 bit. Spero che questo risolva il problema.

8

Ho risolto questo scaricando la versione a 64 bit di lxml qui:

https://pypi.python.org/pypi/lxml/3.4.1

lxml-3.4.1.win-amd64-py2.7.exe

E 'l'unico che ha funzionato per risolvere l'errore win32. Potresti voler distruggere la vecchia versione di lxml prima di farlo.

+0

Questo era il mio problema al contrario. Ho python 32 bit ma avevo installato amd64 lxml. Quindi, solo un testa a tutti: _ il programma di installazione di windows binary lxml non verifica la corrispondenza con bored di 32/64. –

1

Ho avuto lo stesso problema. La parte Win32 inizialmente era confusa, dal momento che sto utilizzando un sistema a 64 bit. La soluzione, forse perché la versione attuale di pitone utilizzata componenti a 32 bit, era semplicemente quello di disinstallare la vecchia versione di lxml e installare la versione a 32 bit, qui: https://pypi.python.org/pypi/lxml/3.4.1#downloads

6

So che è tardi per dire questo ... ma può aiutare qualcuno un giorno ..

io uso il seguente codice per risolvere lo stesso identico problema qui

python -m pip uninstall lxml 
python -m pip install lxml==3.6.0 
0

solo l'aggiunta di questo solo nel caso in cui qualcuno in situazione analoga ottenere beneficiato.Nonostante il mio Python & le librerie richieste per Scrapy fossero installate a 32 bit, stavo ancora cercando di risolvere questo problema. Dopo aver aggiornato il mio Python alla prossima versione, il problema è stato risolto automaticamente.

Problemi correlati