ImportError: cannot import name Signale
Bin ich mit Django 1.3.0 mit Python 2.7.1.
In jedem test Schreibe ich die folgenden imports-ich bekomme die importError oben:
von django.utils import unittest von django.test.client import Client
Den vollständigen stack-trace:
Datei "C:\Program Files (x86)\j2ee\plugins\org.python.pydev.debug_1.6.3.2010100513\pysrc\runfiles.py", line 342, in __get_Modul_von_str mod = __import__(modname) Datei "C:/Users/benjamin/workspace/BookIt/src/BookIt/tests\basic_flow.py", line 11, in von django.test.client import Client Datei "C:\Python27\lib\site-packages\django\test\__init__.py", line 5, in von django.test.client import Client, RequestFactory Datei "C:\Python27\lib\site-packages\django\test\client.py", line 21, in von django.test-import-Signale ImportError: cannot import name Signale FEHLER: Modul: basic_flow konnte nicht importiert werden.
Irgendwelche Ideen, warum dies geschieht ?
- Ich habe gelesen, das questionkönnte dies sein, weil Client ist zweimal importiert ? einmal in
C:\Python27\lib\site-packages\django\test\__init__.py
und wieder in meinem testC:/Users/benjamin/workspace/BookIt/src/BookIt/tests\basic_flow.py
.Wenn es das ist, wie kann dann importieren Sie die Client auf meinem test ? - Es wäre nur von Belang, wenn der Import Client erstellt eine kreisförmige importieren, also file_A Importe file_B und file_B Importe file_A. Es spielt keine Rolle, wenn die Einfuhren nicht voll. Python muss noch analysieren, das Modul zu ziehen, die einzelnen Artikel(s). Manchmal zirkuläre Importe notwendig sind, obwohl, so dass, wenn das ist Ihr Fall, Sie können wickeln Sie den Konflikt der Einfuhr in ein
try
block, mitImportError
als die Ausnahme. - Ich traf dieses problem auf, wenn, aus einer python-shell, ich habe versucht, zu importieren, zu importieren, mein django Modelle. Es fehlgeschlagen ist (weil keine Einstellungen-Modul-set), behandelte ich Sie, und dann versucht zu importieren Sie wieder, und ich habe diesen Fehler. Irgendwie, dieser Prozess habe meine Modul-namespace in einem unsauberen Zustand, aber @BenjaminK.'s gedacht, dass so etwas immer wurde importiert zweimal machte mir klar, das war Los.
Du musst angemeldet sein, um einen Kommentar abzugeben.
@Hugo hat Recht, es war ein settings.py problem. Aber ich wollte nicht, hatte das problem beim laufen durch die Django-Umfeld. Aber wenn ich wollte, um unit-tests nacheinander (mit Pydev laufen als unittest) es konnte nicht ausgeführt werden.
Was ich tun musste, war, fügen Sie den Django-Einstellungen Modul-Informationen, also für das was ich jetzt mache ist, hinzufügen der folgenden Zeilen in meine unit-tests:
Dieser lädt mein Django Projekt-Einstellungen und erlauben Sie mir, zu laufen, als reguläre unittest.
Wenn jemand bessere Vorschläge, wie man das mehr sauber in Pydev bitte lassen Sie mich wissen.
Ich hatte das gleiche problem gerade vor einer minute. Die Untersuchung merkte ich, das problem war mit meinem settings.py* Datei.
Überprüfen, wenn Sie Probleme mit Django finden Sie Ihre Einstellungen Datei korrekt.
Diese Fehlermeldung ist völlig nicht-Sinn.
* IIRC Django sieht für settings.py - Datei, falls es nicht gefunden wird, sieht es für die Umgebungsvariable DJANGO_SETTINGS_MODULE und versuchen, die.
settings.py
- Datei. Wenn ich die folgende Zeile hinzufügen, um die Einfuhr:from BookIt.settings import ADMIN_MEDIA_PREFIX
es funktioniert Ok.Dies ist leicht zu lösen.
Wenn Sie bereits geschrieben haben die settings.py (die meisten wahrscheinlich) nur navigieren Sie in das Verzeichnis, das enthält die "settings.py" die Datei und führen Sie es aus.
1] python
2] import-Einstellungen
Diese Befehle sollten den trick tun. Dann gehen Sie zu jedem Ordner und fahren Sie mit der Ausführung.