Ich habe plötzlich einen Importfehler
Also habe ich unter Ubuntu ein Virtualenv eingerichtet, alles installiert und die Entwicklungssite zum Laufen gebrachtrunserver
. Alle meine eigenen Komponententests bestanden, aber viele der Komponententests der Django-Pakete bestanden nicht.
Also habe ich es versuchtgit bisect
Um das herauszufinden, überprüfe ich die allerersten Verpflichtungen, die ich eingegangen war. Ich war zu früh in der Geschichte, als die Entwicklungsumgebung verschiedene Datenbank-Engines, -Pakete usw. verwendete und die Site natürlich nicht laufen konnte. Ich beschloss dann, an etwas anderem Wichtigerem zu arbeiten, als die Django-Komponententests nicht zu bestehen (da meine eigenen arbeiteten), und ging zurück zum neuesten Commit in der Entwicklungsbranche.
Ich habe geschossenrunserver
wieder, aber dieses Mal, als ich die Homepage neu lud, wurde ich mit dem Fehler getroffen:
Traceback:
File "...venv.../local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
101. request.path_info)
File "...venv.../local/lib/python2.7/site-packages/django/core/urlresolvers.py" in resolve
298. for pattern in self.url_patterns:
File "...venv.../local/lib/python2.7/site-packages/django/core/urlresolvers.py" in url_patterns
328. patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "...venv.../local/lib/python2.7/site-packages/django/core/urlresolvers.py" in urlconf_module
323. self._urlconf_module = import_module(self.urlconf_name)
File "...venv.../local/lib/python2.7/site-packages/django/utils/importlib.py" in import_module
35. __import__(name)
File "...project dir.../myproject/urls.py" in <module>
2. import frontpage.views
Exception Type: ImportError at /
Exception Value: No module named views
Alles hat einwandfrei funktioniert, bevor ich die Git-Halbierung ausprobiert habe. Aber nicht mehr, zumindest auf meinem lokalen Rechner.
Also googelte ich herum und wechselte meineROOT_URLCONF
von'myproject.urls'
zu gerade'urls'
. Jetzt bekomme ich folgende Fehlermeldung:
Traceback:
File "...venv.../local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
101. request.path_info)
File "...venv.../local/lib/python2.7/site-packages/django/core/urlresolvers.py" in resolve
298. for pattern in self.url_patterns:
File "...venv.../local/lib/python2.7/site-packages/django/core/urlresolvers.py" in url_patterns
328. patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "...venv.../local/lib/python2.7/site-packages/django/core/urlresolvers.py" in urlconf_module
323. self._urlconf_module = import_module(self.urlconf_name)
File "...venv.../local/lib/python2.7/site-packages/django/utils/importlib.py" in import_module
35. __import__(name)
Exception Type: ImportError at /
Exception Value: No module named urls
Ich habe noch etwas gegoogelt und dachte, dass mein Python-Pfad möglicherweise nicht mein Projektverzeichnis enthält ... aber nein, es funktioniert völlig, wenn ich ein einfügeprint sys.path
in meinemsettings.py
Datei für das Projekt!
Also, was ist das Problem hier? Ich benutze Django 1.4.3 und starte den Server mitpython manage.py runserver
. Ich schwöre, meine Website hat erst vor ein paar Stunden funktioniert, und das habe ich seitdem getangit checkout development
undgit reset
Viele Male ... Ich habe versucht, das virtuelle ENV zu löschen, es neu zu erstellen und alle Python-Pakete neu zu installieren. Ich erhalte immer noch den gleichen Fehler.
(Außerdem habe ich das VirtualenV aktiviert und sogar einen Neustart versucht, nur für den Fall ... bisher kein Glück)
AKTUALISIEREN
Nach dem Vorschlag von Lennart habe ich den Debugger direkt vor dem fehlgeschlagenen Import gestartet und festgestellt, dass dies der Fall istimport frontpage
klappt aber nichtimport frontpage.views
, frontpage.tests
oder irgendetwas anderes. Ich habe eine__init__.py
Datei in derfrontpage
Verzeichnis als auch. An diesem Punkt,sys.path
enthält meinen Projektordner in Ordnung ...
Ich habe bereits aufgenommenfrontpage
in meinemINSTALLED_APPS
auch.
FEST
Dank Lennart habe ich das überprüftfrontpage
Modul wurde tatsächlich korrekt importiert. Das richtige.pyc
datei wurde angezeigt, aber das hat mich gefragt, ob die pyc-dateien irgendwie nicht mit meinem eigentlichen code synchron waren.
Also habe ich alle pyc-Dateien gelöscht, den Server neu gestartet und alles funktioniert wieder :)