Domanda

Ho un file Python " testHTTPAuth.py " che utilizza il modulo deliciousapi ed è conservato in "deliciousapi.py".

Ho conservato i file come

testHTTPAuth.py
lib
   deliciousapi.py

Ma quando corro: " python testHTTPAuth.py " sta dando errore

    import deliciousapi
ImportError: No module named deliciousapi

Come possono gestire queste librerie di Python? Perché più tardi ho messo il codice insieme alle librerie come app di Google. Quindi non riesco a mantenere la libreria nel normale percorso della libreria.

È stato utile?

Soluzione

Devi aggiungere la directory 'lib' al tuo percorso, altrimenti Python non trova la tua fonte. Ciò che segue (incluso in un modulo come testHTTPAuth.py) lo farà:

sys.path.append(os.path.join(os.path.dirname(__file__), 'lib')

Il suggerimento di Ned di cambiare le tue importazioni potrebbe funzionare, ma se qualcosa nella directory lib importa i sottomoduli con percorsi assoluti (la maggior parte dei moduli di grandi dimensioni lo fa), allora si romperà.

Altri suggerimenti

Se aggiungi un __init__.py vuoto alla tua directory lib, puoi cambiare la tua dichiarazione di importazione in:

from lib import deliciousapi
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top