Ho controllato quante più pagine SO possibile e ho provato tutto quello che ho trovato, ma nessuna ha avuto successo. Ho anche controllato la pagina PEP per quanto riguarda l'importazione e ho provato ogni esempio, nessuno dei quali funzionava.Come importare un modulo da una cartella accanto alla cartella corrente?
Ho una cartella di test con test delle unità al loro interno e devo importare il modulo che voglio testare. I moduli si trovano in una cartella chiamata 'src' che si trova accanto alla cartella src.
Le cartelle/file sono qualcosa del tipo:
Project/
src/
stringbuilder.py
__init__.py
tests/
stringbuilder_test.py
__init__.py
main.py
__init__.py
Ho provato tutto quello che potevo: l'aggiunta di __init__.py
per ogni cartella che farne un modulo compresa la cartella principale del progetto.
import src.module_to_test
from ..src.module_to_test import function_to_test
from ..src import module_to_test
Ho provato tutte le altre combinazioni che hanno fallito. Sto iniziando a pensare che ci debba essere qualcosa di sbagliato nelle mie impostazioni o nella mia comprensione-- Pensavo che questo dovesse essere semplice.
Se si verificano errori evidenti, per favore fatemelo sapere.
from tests import stringbuilder
messaggio di errore:
$ ./stringbuilder_test.py
Traceback (most recent call last):
File "./stringbuilder_test.py", line 14, in <module>
from tests import stringbuilder
ImportError: No module named tests
Lo stesso errore si verifica per (ma i test = src):
from src import stringbuilder
"src" o "test"? Puoi darci maggiori dettagli sulla gerarchia di file e cartelle? – Nicolas
Aggiunto un po 'nel post per provare a mostrare la gerarchia. –
'dai test import stringbuilder' - basta guardare la struttura ad albero sopra per vedere perché non funziona –