Domanda

Nel mio progetto Django, la seguente riga genera un ImportError:. "No module named elementtree"

  from elementtree import ElementTree 

Tuttavia, il modulo è installato (cioè, posso eseguire una shell pitone interattivo, e digitare tale linea esatta senza ImportError), e la directory contenente il modulo è in PYTHONPATH. Ma quando ho accedere a qualsiasi pagina in un browser, in qualche modo non può trovare il modulo, e getta l'ImportError. Quale potrebbe essere la causa?

È stato utile?

Soluzione

Si può importare elementtree all'interno del guscio django:

python manage.py shell

Supponendo di avere più versioni di pitone e non si sa quale viene utilizzato per eseguire il sito, aggiungere il seguente alla visualizzazione e spingere python_ver al modello, che vi mostrerà la versione di Python che si sta utilizzando:

import sys
python_ver = sys.version

È inoltre possibile aggiungere in modo esplicito il percorso ElementTree programatically nella vostra settings.py:

import sys
sys.path.append('path to where elementtree resides')

Altri suggerimenti

Ho anche incorrere in problemi di cross-platform in cui ElementTree era disponibile da diversi moduli su sistemi diversi ... questo ha finito per lavorare per me:

try:
    import elementtree.ElementTree as ET
except:
    import xml.etree.ElementTree as ET

può o non può aiutare per te ...

Andate nella directory di installazione

Esempio:

  

c: \ Python26 \ lib \ site-packages

E verificare se entrambi elementtree e Django sono lì.

Se sono entrambi non ci sono, allora probabilmente avete più directory di installazione per diverse versioni di Python.


In ogni caso, è possibile risolvere il problema eseguendo questo comando:

  

python setup.py install

Esegui due volte, una volta dentro il download per Django e una volta dentro il download per elementtree. Sarà installare entrambi i download in qualunque vostro attuale pitone di default è.

References:

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top