Python è installato in una directory locale.
Il mio albero di directory è simile al seguente:
(local directory)/site-packages/toolkit/interface.py
Il mio codice è qui:
(local directory)/site-packages/toolkit/examples/mountain.py
Per eseguire l'esempio, scrivo python mountain.py
e nel codice ho:
from toolkit.interface import interface
E ottengo l'errore:
Traceback (most recent call last):
File "mountain.py", line 28, in ?
from toolkit.interface import interface
ImportError: No module named toolkit.interface
Ho già controllato sys.path
e lì ho la directory /site-packages
. Inoltre, ho il file __init__.py.bin
nella cartella del toolkit per indicare a Python che questo è un pacchetto. Ho anche un __init__.py.bin
nella directory degli esempi.
Non so perché Python non riesca a trovare il file quando è dentro sys.path
. Qualche idea? Può essere un problema di autorizzazioni? Ho bisogno di un permesso di esecuzione?
755
. Questo perché umask
sulla macchina era 0027
dovuto il others
fatto che non disponeva read
dell'autorizzazione che impediva la lettura del modulo. L'aggiunta read
dell'autorizzazione ha risolto il mio problema. Vale la pena controllare l'autorizzazione della directory di destinazione post-installazione.
interface
(è stato un conflitto).