Si consideri la seguente struttura del progetto:Perché l'importazione funziona con Python nose quando la directory di test contiene __init__.py?
a.py
test/
test_a.py
con test_a.py
modulo a
importazione:
import a
Come previsto, in esecuzione nosetests
nei test
risultati di directory in errore di importazione:
ERROR: Failure: ImportError (No module named a)
Tuttavia , Ho notato che aggiungendo un vuotoIl filenella directory test
rende l'importazione funzionante con nosetests
(ma non quando si esegue test_a.py
con Python). Potresti spiegare perché?
Capisco che l'aggiunta di __init__.py
rende test
un pacchetto. Ma vuol dire che l'importazione include la directory che contiene il pacchetto nella ricerca?
http://stackoverflow.com/questions/448271/what-is-init-py-for – Mir
@Mir capisco cosa '__init __. Py' per . Non capisco perché influisce sull'importazione di altri moduli. – vitaut
Perché se non fosse lì, allora potresti importare qualsiasi directory per sbaglio, il che sarebbe quasi inutile. È un controllo programmatico di sorta. – Kris