Ho un'applicazione al lavoro configurata con la seguente struttura.Come informare PyCharm della posizione dei moduli personalizzati?
/project_root
/applications
/app1
__init__.py
/app2
__init__.py
...
/appN
/pkg
/database
__init__.py
/toolbox
__init__.py
...
__init__.py
__init__.py
main_framework.py
Sto studiando usando PyCharm (edizione community), invece dello strumento PyDev di Eclipse. In __init__.py
in app1
ho un'istruzione import che assomiglia a questo:
import pkg.database
PyCharm lamenta l'importazione con un messaggio no module named pkg
.
(clicca per ingrandire l'immagine)
causa come il quadro è costruito, però, il sistema funziona bene. Ognuno dei appN
s conosce la directory pkg
. Come posso informare PyCharm di avere dei moduli personalizzati nella directory pkg
in modo che questi avvisi si interrompano?
Sto testando PyCharm 4.0.3 Community Edition.
Un paio di cose che ho provato, grazie per i commenti qui sotto, che non hanno aiutato:
- Nella finestra di progetto Struttura, project_root è stato indicato come l'unica directory sotto "Root Contenuto" a destra lato della mano del dialogo. Ho aggiunto la directory
pkg
in modo che sia elencata. Questo non ha avuto alcun effetto. - Nella versione iniziale della domanda, ho perso lo
__init__.py
inpkg
durante la visualizzazione della struttura. Questo file esiste.
Hai fatto 'project_root' la root di origine per il tuo progetto? – nbro
Prova a usare 'project_root.pkg.database' anche se penso che non funzionerà. Seconda opzione, prova a rendere anche 'pkg' una fonte radice, contrassegnala come' Fonte'. Se funziona, dimmelo e lo posterò come risposta. Penso che il secondo dovrebbe funzionare. – nbro
La seconda opzione non ha funzionato (l'ho impostata come 'Source' e quindi riavviata PyCharm). Considererò la prima opzione se nient'altro si presenta semplicemente perché non voglio modificare tutti gli script 'appN' se non ne ho bisogno. – Andy