Fehler ein Python-Modul in Django importieren
-
21-09-2019 - |
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?
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: