Sto cercando di seguire PEP 328 , con la seguente struttura di directory:
pkg/
__init__.py
components/
core.py
__init__.py
tests/
core_test.py
__init__.py
In core_test.py
ho la seguente dichiarazione di importazione
from ..components.core import GameLoopEvents
Tuttavia, quando corro, ottengo il seguente errore:
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
Cercando in giro ho trovato " percorso relativo non funzionante anche con __init__.py " e " Importa un modulo da un percorso relativo " ma non mi hanno aiutato.
C'è qualcosa che mi manca qui?
no module named myimports.foo
quando li eseguo.
cd
in PyImports
, ed eseguire python -m unittest tests.test_abs
, per esempio.
unittest
progetti, quindi ho scritto questo progetto di esempio abbastanza esaustivo che copre l'annidamento profondo dei moduli, le importazioni relative e assolute (dove il lavoro e no) e il riferimento relativo e assoluto dall'interno di un pacchetto, nonché importazione di classi singola, doppia e a livello di pacchetto. Aiutato le cose in chiaro proprio per me!