Ich versuche, PEP 328 mit der folgenden Verzeichnisstruktur zu folgen :
pkg/
__init__.py
components/
core.py
__init__.py
tests/
core_test.py
__init__.py
In habe core_test.py
ich die folgende Importanweisung
from ..components.core import GameLoopEvents
Beim Ausführen wird jedoch der folgende Fehler angezeigt:
tests$ python core_test.py
Traceback (most recent call last):
File "core_test.py", line 3, in <module>
from ..components.core import GameLoopEvents
ValueError: Attempted relative import in non-package
Beim Durchsuchen fand ich " relativer Pfad funktioniert nicht einmal mit __init__.py " und " Importiere ein Modul von einem relativen Pfad ", aber sie halfen nicht.
Fehlt mir hier etwas?
no module named myimports.foo
wenn ich sie laufen lasse.
cd
in PyImports
, und laufen python -m unittest tests.test_abs
, zum Beispiel.
unittest
Projekten, daher schrieb ich dieses ziemlich erschöpfende Beispielprojekt , das die tiefe Verschachtelung von Modulen, relative und absolute Importe (wo die Arbeit funktioniert und nicht) sowie relative und absolute Referenzierung aus einem heraus behandelt Paket sowie Import von Klassen auf Einzel-, Doppel- und Paketebene. Hat mir geholfen, die Dinge richtig zu machen!