Frage

In meinem Django-Projekt, die folgende Zeile wirft einen Import. „Kein Modul mit dem Namen elementtree“

  from elementtree import ElementTree 

Allerdings ist das Modul installiert ist (dh, ich kann eine interaktive Python-Shell ausführen, und geben Sie diese genaue Zeile ohne Import) und das Verzeichnis das Modul enthält, ist auf der PYTHONPATH. Aber wenn ich eine Seite in einem Browser zugreifen, kann es irgendwie nicht das Modul finden, und führt den Import. Was könnte die Ursache sein?

War es hilfreich?

Lösung

Können Sie importieren elementtree in der django-Shell:

python manage.py shell

Angenommen, Sie mehr Python-Versionen haben und nicht wissen, welche verwendet wird, um Ihre Website zu führen, fügen Sie folgendes zu Ihrer Ansicht und Push python_ver zu Ihrer Vorlage, es werden Ihnen die Python-Version zeigen, die Sie verwenden:

import sys
python_ver = sys.version

Sie können auch den Pfad explizit hinzufügen programmatisch in Ihrem settings.py elementtree:

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

Andere Tipps

habe ich auch laufen in plattformübergreifende Themen, bei denen ElementTree aus verschiedenen Modulen auf verschiedenen Systemen verfügbar war ... das für mich arbeiten endete:

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

oder auch nicht Hilfe für Sie ...

Gehen Sie in das Installationsverzeichnis

Beispiel:

  

C: \ Python26 \ Lib \ site-packages

und überprüfen, ob beide elementtree und django sind drin.

Wenn sie beide nicht da sind, dann haben Sie wahrscheinlich mehrere Installationsverzeichnisse für verschiedene Versionen von Python.


In jedem Fall können Sie Ihr Problem, indem Sie diesen Befehl ausführen lösen

  

python setup.py install

Ausführen es zweimal, einmal in dem Download für django und einmal in dem Download für elementtree. Es wird sowohl von den Downloads in was auch immer Ihr aktuellen Standard-Python ist installieren.

Referenzen:

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top