Sono molto nuovo di PyDev e Python, anche se ho usato molto Eclipse per Java. Sto cercando di lavorare su alcuni degli esempi di Dive Into Python e questo sembra un problema estremamente banale che sta diventando estremamente fastidioso. Sto usando Ubuntu Linux 10.04.
Voglio essere in grado di utilizzare il file odbchelper.py, che si trova nella directory /Desktop/Python_Tutorials/diveintopython/py
Ecco il mio file example.py su cui sto lavorando nel mio progetto PyDev / Eclipse:
import sys
sys.path.append("~/Desktop/Python_Tutorials/diveintopython/py")
Funziona bene, ma poi voglio che la riga successiva del mio codice sia:
import odbchelper
e questo causa ogni volta un errore di importazione non risolto. Ho aggiunto __init__.py
file a quasi tutte le directory possibili e non aiuta nulla. Ho provato ad aggiungere i __init__.py
file uno alla volta ai vari livelli di directory tra la posizione del progetto e il file odbchelper.py, e ho anche provato ad aggiungere i __init__.py
file a tutte le directory in mezzo contemporaneamente. Nessuno dei due funziona.
Tutto quello che voglio fare è avere un progetto da qualche parte in qualche altra directory, diciamo /Desktop/MyStuff/Project
, in cui ho example.py ... e poi da example.py voglio importare odbchelper.py da/Desktop/Python_Tutorials/diveintopython/py/
Ogni risposta della bacheca che riesco a trovare dice semplicemente di usare la sys.path.append()
funzione per aggiungere questa directory al mio percorso e quindi importarla ... ma è esattamente quello che sto facendo nel mio codice e non funziona.
Ho anche provato il Ctrl-1 trucco per sopprimere il messaggio di errore, ma il programma non funziona ancora correttamente. Ottengo un errore, ImportError: No module named odbchelper
. Quindi chiaramente non viene aggiunto il percorso o c'è qualche problema che tutte le mie numerose permutazioni di aggiunta di __init__.py
file hanno perso.
È molto frustrante che qualcosa di così semplice ... chiamare cose da qualche file che esiste da qualche altra parte sulla mia macchina ... richieda così tanto sforzo.
grp
modulo. L'ho appena aggiunto builtins
all'elenco in Preferenze> PyDev> Interpreti> Python> Forced Builtins e ottengo ancora il completamento automatico per quel modulo