2016-05-04 12 views
5

Attualmente sto usando Python 2.7, e sto cercando di caricare un file in questo modo:imp.load_source() gettando "No modulo denominato" Errore Python 2.7

myPlt = imp.load_source('SourceFile', 'path/to/SourceFile.py') 

Tuttavia, le importazioni SourceFile.py modulo OtherModule, che si trova nella stessa directory di SourceFile. La struttura del pacchetto assomiglia a questo:

/path 
.../to 
     ...SourceFile.py 
     ...OtherModule.py 
     ...__init__.py 

Quando eseguo il load_source, ottengo il "ImportError: No module named otherModule" errore

È mia chiamata load_source errata? C'è un modo alternativo che dovrei fare per importare SourceFile?

+0

carico 'OtherModule.py' prima? – Natecat

+0

Perché non si carica l'intero pacchetto direttamente? –

+0

@AnmolSinghJaggi Certo che potrei provare, ma quale sarebbe la sintassi per questo? –

risposta

0

Prova:

imp.load_source ("directory", "directory" + "filename.py")

+0

Purtroppo sembra che restituisca lo stesso errore .. ho bisogno di un file __init__.py in ogni cartella nel percorso della directory? Attualmente lo ho solo nella cartella con gli script stessi –

+0

No. Non è così. Giusto per essere chiari, quale file sta caricando quale file? Ero sotto l'impressione che OtherModule chiama questa istruzione di caricamento SourceFile.py ... Se sono nella stessa directory, dovresti fare imp.load_source (".", "SourceFile.py") Se vuoi caricare SourceFile.py – mattsap

Problemi correlati