2014-07-04 9 views
13

Ho la seguente struttura del pacchetto:Perché PyCharm si lamenta dei moduli mancanti quando si utilizzano le importazioni assolute?

projects/ 
    package_name/ 
     __init__.py 
     model.py 

In __init__.py ho la seguente istruzione import:

import package_name.model as model 

PyCharm lamenta qui che non v'è alcun modulo denominato package_name. Ma quando importare il pacchetto dal terminale mentre si trova in projects/, Python importa il pacchetto senza problemi. La mia directory di lavoro in PyCharm è pure projects e l'ho aggiunta al mio PYTHONPATH.

Perché PyCharm si lamenta nonostante sembra funzionare correttamente e come lo risolvo?

+0

possibile duplicato di [Pycharm (Python IDE) non completa automaticamente i moduli Django] (http://stackoverflow.com/questions/4906246/pycharm-python-ide-doesnt-auto-completa-django-modules) – laffuste

+2

Non sembra esattamente un duplicato. Le risposte non lo hanno risolto per me. –

risposta

10

PyCharm ha bisogno di sapere quali file nel proprio albero sono sorgenti Python in modo che possa capire la struttura del modulo.

Apri File -> Impostazioni -> Progetto: -> Progetto Struttura

Poi segnano projects come una directory di origine.

+0

omg! Funziona! 8) So che questo è un commento così ritardato, ma sono così felice ora, un milione di ringraziamenti !! – Bloke

+0

Grazie alla tua risposta, ho visto che l'interprete per la mia cartella "projects" era impostato su python 2.7 e stavo cercando di importare i moduli da 3.4+ –

+0

Cosa succede se la radice del tuo Project è il pacchetto che devi importare? Per esempio. avete 'package/module.py' e' package/test/test_module.py'. In quest'ultimo, si prova a importare package.module che funziona bene quando si eseguono i test al di fuori del pacchetto, ma a PyCharm non piace ancora. – dmh

-2

Questo perché PyChar è un'applicazione GUI che significa che non condivide alcuna delle variabili di ambiente, che di solito sono definite negli script del profilo di casa.

Problemi correlati