python nessun modulo chiamato
Funzioni e metodi Python
Michael Zippo
31.10.2021
I moduli sono parte integrante del linguaggio Python. I moduli ti consentono di suddividere il codice in più file. Ciò aiuta a mantenere la leggibilità e la manutenibilità di un codebase.
è comune incontrare un ModuleNotFoundError quando si lavora con i moduli. In questa guida, parliamo di cosa significa questo errore e perché viene sollevato. Esaminiamo tre possibili soluzioni per aiutarti a superare questo errore.
Che cos’è un ModuleNotFoundError?
Un ModuleNotFoundError viene generato quando Python non riesce importa un modulo.
Il messaggio di errore completo è simile a questo:
Questo errore si verifica quando dimentichi di installare una dipendenza per un progetto. Poiché non hai installato la dipendenza, Python non sa dove trovarla.
ModuleNotFoundErrors compaiono nei moduli definiti dall’utente. Spesso, questo errore è causato dall’importazione di file relativamente quando non è consentito.
Scenario di esempio: dipendenza non installata
Dai un’occhiata a un file chiamato app.py che utilizza il Pacchetto BeautifulSoup:
Cerchiamo di eseguire questo file:
l’81% dei partecipanti ha dichiarato di sentirsi più sicuro delle proprie prospettive di lavoro nel settore tecnologico dopo aver partecipato a un bootcamp. Fatti abbinare a un bootcamp oggi.
Il laureato medio di un bootcamp ha trascorso meno di sei mesi nella transizione di carriera, dall’avvio di un bootcamp alla ricerca del primo lavoro.
Sembra che Python 3 non possa trova il modulo "bs4". Poiché bs4 è un pacchetto esterno, la causa di questo errore dovrebbe essere che non abbiamo installato il modulo.
Per risolvere questo errore, installiamo il modulo bs4:
Questo codice installa il modulo richiesto per il nostro progetto.
Nota: assicurati di utilizzare il gestore di pacchetti corretto per installare un modulo. Non puoi installare moduli per Python 3 usando pip e moduli per Python 2 usando pip3. Se lo fai, l’interprete Python potrebbe non riconoscere che hai installato un modulo.
Esegui di nuovo il nostro codice:
Il nostro codice funziona!
Scenario di esempio: moduli definiti dall’utente
Ci sono due tipi di importazione in Python: assoluta e relativa.
Le importazioni assolute sono dove importi qualcosa su sys.path, come un pacchetto integrato. Le importazioni relative sono dove importi qualcosa che è relativo al programma che stai scrivendo.
Le importazioni relative devono essere parte di un pacchetto altrimenti non possono essere eseguite.
Successivamente, scriviamo un programma che stampa un elenco di torte sulla console. Per prima cosa, creiamo una struttura di directory per il nostro progetto:
Cominciamo dichiarando un elenco di torte nel nostro "config.py" file:
Successivamente, scriviamo il nostro "main.py" file che stampa queste torte sulla console:
Infine, scriviamo il nostro programma principale in app.py che esegue il nostro modulo:
Questo codice esegue print_cakes()
funzione all’interno di "main.py" file. Importiamo "principale" e "config" in modo che possiamo accedere alla nostra funzione print_cakes()
e alla nostra lista di torte. Questo elenco di torte viene passato attraverso la nostra funzione print_cakes()
.
Esegui il nostro codice e guarda cosa succede:
Questo errore si verifica perché non abbiamo importato correttamente i nostri file.
"main" è nelle "torte" modulo. Non è nella nostra directory di lavoro corrente. Lo sappiamo perché "main.py" è nelle "torte" cartella. Per accedere a questo modulo, dobbiamo importarlo relativamente:
Invece di importare "main" direttamente, importiamo "main" dalle "torte" modulo. Vediamo cosa succede quando eseguiamo di nuovo il nostro codice:
"Il Karma di carriera è entrato nella mia vita quando ne avevo più bisogno e mi ha aiutato rapidamente ad abbinarmi a un bootcamp. Due mesi dopo la laurea, ho trovato il lavoro dei miei sogni in linea con i miei valori e obiettivi nella vita!"
Venus, Software Engineer presso Rockbot
Il nostro codice stampa l’elenco delle torte . Abbiamo importato "principale" da "torte" e ha risolto il nostro errore ModuleNotFoundError.
Nota che importiamo il modulo "config" direttamente nel nostro codice. Questo perché "config" si trova nella stessa cartella del programma che stiamo eseguendo.
Il ModuleNotFoundError viene generato quando Python non riesce a individuare un errore. La causa più comune di questo errore è dimenticare di installare un modulo o importare un modulo in modo errato.
Se stai lavorando con un modulo esterno, devi assicurarti di averlo installato. Se stai scrivendo un modulo definito dall’utente, devi ricontrollare le tue istruzioni di importazione e assicurarti che tutti importino relativamente i file.
Ora sei pronto per risolvere l’errore Python ModuleNotFoundError come un esperto!