python import Fehler

was ist Los mit meinem Importe?

App Ordner-Struktur:

myapp/

  • models/models.py enthält SpotModel()
  • tests/tests.py enthält TestSpotModel(unittest.TestCase). tests.py Importe from myapp.models.models import * die funktioniert wie ein Charme
  • scripts/import.py enthält from myapp.models.models import *

das problem ist, dass import.py bei der Ausführung zu einem Fehler führt:

ImportError: No module named myapp.models.models

aber tests.py läuft.

Habe ich __init__.py Dateien in myapp/__init__.py, myapp/models/__init__.py, myapp/tests/__init__.py und wie bereits erwähnt, laufen die unit-tests mit nosetests funktioniert wie vorgesehen.

from foo import * wird dringend abgeraten, weil es bewirkt, dass Namensraum-Kollisionen. Es ist schwer zu sagen, was passiert mit dieser Aussage anwesend.
Ich würde auch versuchen zu vermeiden, benennen Sie ein Modul mit einem Python-Schlüsselwort wie import. Jetzt können Sie nicht import myapp.import!
Umbenannt habe ich es zu python myapp/scripts/data.py aber es ist immer noch das gleiche problem
In den Paketen, die import * ist viel weniger ein problem, wenn man weiß, was Sie tun, und auch allgegenwärtig.
T: sexuell übertragbare Krankheiten sind allgegenwärtig, es bedeutet nicht, Sie brauchen einen Anwalt. Und in diesem Fall wusste man nicht weiß, was man tut.

InformationsquelleAutor kristian nissen | 2010-08-21

Schreibe einen Kommentar