Eu tenho uma estrutura de diretórios
├── simulate.py
├── src
│ ├── networkAlgorithm.py
│ ├── ...
E eu posso acessar o módulo de rede com sys.path.insert()
.
import sys
import os.path
sys.path.insert(0, "./src")
from networkAlgorithm import *
No entanto, o pycharm reclama que não pode acessar o módulo. Como posso ensinar o pycham a resolver a referência?
__init__.py
arquivo?Respostas:
Adicioná-lo manualmente como você fez é de fato uma maneira de fazer isso, mas existe um método mais simples, que é simplesmente dizer ao pycharm que você deseja adicionar o
src
pasta como raiz de origem e, em seguida, adicionar a raiz do código ao python caminho.Dessa forma, você não precisa codificar as coisas nas configurações do seu intérprete:
src
como raiz do conteúdo de origem:PYTHONPATH
:Dessa forma, você pode adicionar o que quiser como raiz de origem, e as coisas simplesmente funcionarão. Se você não marcado-lo como uma raiz fonte no entanto, você vai receber um erro:
Depois de tudo isso, não se esqueça de reiniciar. No menu PyCharm, selecione: Arquivo -> invalidar caches / reiniciar
fonte
src
, temosviews
pasta dentro do qual eumyview.py
, eu ainda receber o erro referência não resolvida ao tentarfrom src.views.myview import <my_function>
...__init__.py
arquivo nasrc
pastasrc
pasta como raiz de origemPYTHONPATH
(veja acima)fonte
Se alguém ainda estiver olhando para isso, a resposta aceita ainda funcionará para o PyCharm 2016.3 quando eu tentei. A interface do usuário pode ter sido alterada, mas as opções ainda são as mesmas.
ie Clique com o botão direito do mouse na pasta raiz -> 'Marcar diretório como' -> Raiz de origem
fonte
Depois de testar todas as soluções alternativas, sugiro que você dê uma olhada
Settings -> Project -> project dependencies
e reorganize-as.fonte
pygame
lá e não mais um problema de referência não resolvido!Normalmente, $ PYTHONPATH é usado para ensinar o interpretador python a encontrar os módulos necessários . O PyCharm precisa adicionar o caminho na preferência.
fonte
Geralmente, esse é um problema de falta de pacote, basta colocar o cursor na referência não resolvida e pressionar
Alt+Enter
para revelar as opções; então, você deve saber como resolvê-lo.fonte
Depois de seguir a resposta aceita, o seguinte foi resolvido para mim:
File
→Settings
→Project <your directory/project>
→Project Dependencies
Escolha o diretório / projeto em que reside o arquivo que possui importações não resolvidas e marque a caixa para informar ao Pycharm que esse projeto depende do seu outro projeto.
A hierarquia da minha pasta é um pouco diferente da da pergunta. A minha é assim
Dizer ao Pycharm que o src depende
MyDirectory
resolveu o problema para mim!fonte
Embora todas as respostas sejam realmente úteis, há uma pequena informação que deve ser explicada explicitamente:
.py
arquivo e criar um__init__.py
arquivo (vazio) lá.Por que isso ajuda é porque esse arquivo é necessário para fazer o Python tratar o diretório como contendo pacotes. Felicidades!
fonte
Instale via PyCharm (funciona com o Community Edition). Abra
Settings > Project > Project Interpreter
e clique no ícone verde + na captura de tela abaixo. Na segunda caixa de diálogo exibida, digite o nome do pacote e clique no botão 'Instalar pacote'.fonte
Muitas vezes o que acontece é que o plugin não está instalado. por exemplo
Se você está desenvolvendo um projeto django e não possui o plugin django instalado no pyCharm, ele diz o erro 'referência não resolvida'. Consulte: https://www.jetbrains.com/pycharm/help/resolving-references.html
fonte
Por favor, verifique se você está usando o intérprete certo. Eu estava recebendo o erro "referência não resolvida 'django'" para resolver isso. Alterei o Project Interpreter (Python 3 alterado para Python 2.7) nas configurações do projeto: Selecione Projeto, vá em Arquivo -> Configurações -> Projeto: -> Intérprete do projeto -> Navegação e Selecione a versão correta ou o intérprete (por exemplo, /usr/bin/python2.7).
fonte
No meu caso, o problema era que eu estava usando
Virtual environment
e não tinha acesso a pacotes de sites globais. Portanto, o intérprete não estava ciente dos pacotes recém-instalados.Para resolver o problema, basta editar ou recriar seu intérprete virtual e marque a
Inherit global site-packages
opçãofonte
Isso funcionou para mim:
Top Menu -> File -> Invalidate Caches/Restart
fonte
Feito no PyCharm 2019.3.1 Clique com o botão direito do mouse na pasta src -> "Marcar diretório como" -> Clique em "Excluído" e sua pasta src deve ser azul.
fonte
Pycharm usa venv. No console do venv, você deve instalar os pacotes explicitamente ou entrar
settings -> project interpreter -> add interpreter -> inherit global site-packages
.fonte
Nas versões mais recentes do pycharm, você pode fazer isso simplesmente clicando com o botão direito do mouse no diretório ou pacote python do qual deseja importar um arquivo e clique em 'Marcar diretório como' -> 'Raiz de fontes'
fonte
A maneira mais fácil de corrigi-lo é fazer o seguinte no seu software pyCharm:
Clique em: Arquivo> Configurações> (Projeto: o nome do seu projeto)> Intérprete de projeto>
depois clique no ícone "+" no lado direito para procurar o pacote desejado e instalá-lo.
Desfrute de codificação !!!
fonte