Percorso della libreria Python
-
22-07-2019 - |
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.
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