Como faço para que o IntelliJ reconheça módulos comuns do Python?

198

Estou usando o IntelliJ 10 IDEA Ultimate Edition.

Criei um novo arquivo Test.py e o IntelliJ mudou corretamente para o modo de análise Python. (Posso confirmar isso digitando "d", aparece "def" como uma sugestão e pressionar a guia corretamente me dá "def:")

No entanto, quando eu tento esse código ...

import os

cwd = os.getcw <Ctrl-space>

Duas coisas acontecem ....

  1. Recebo um sublinhado embaixo do sistema operacional e, ao passar o mouse sobre ele, aparece a mensagem "Referência não resolvida 'os'"
  2. Não recebo sugestões para pressionar Ctrl-space acima, quando espero ver "getcwd".

Estou assumindo que isso deve ser o resultado de eu não configurar o IntelliJ corretamente para lidar com os módulos python, mas não tenho idéia do que estou perdendo.

Algum usuário do IntelliJ / Python pode me ajudar?

Toddarooski
fonte

Respostas:

208

Basta criar e adicionar Python SDK

File -> Project Structure -> Project -> Project SDK -> new

e selecione o caminho da instalação do seu intérprete Python (por exemplo, C:\Python26no Windows e /usr/bin/python2.7no Linux) como o caminho inicial.

Discussão relacionada: http://devnet.jetbrains.net/thread/286883

db42
fonte
6
Ainda é verdade hoje. OSX - / usr / bin / python
ThinkBonobo
2
Hoje no OSX El Capitan usei essa dica (obrigado!); FWIW, os intérpretes python (eu tinha 2.6 e 2.7 instalados) estavam presentes /Library, mas o IntelliJ os encontrou muito bem quando criei um virtualenv.
Dawngerpony
20
Feito isso, nenhuma mudança.
OrangeDog
5
Para Mac com uma versão do Python instalada em homebrew (recomendável para El Capitan e além devido a restrições nos diretórios do sistema), você deseja /usr/local/bin/python.
Dawngerpony
Além disso, eu também tive que configurar a faceta (veja resposta abaixo por @linuts)
Janac Meena
134

Você configurou uma faceta de intérprete python?

Estrutura do projeto aberto CTRL+ ALT+ SHIFT+S

Project settings -> Facets -> expand Python click on child -> Python Interpreter

Então:

Project settings -> Modules -> Expand module -> Python -> Dependencies -> select Python module SDK

linuts
fonte
1
v12.1.4 Não tem a opção de menu Configurações do projeto> Facetas, mas @ do dB42 solução trabalhou um mimo
Trindaz
Eu criei uma faceta, e não funcionou, sua resposta foi a solução !! maravilhoso! :)
Rodislav Moldovan
Ímpar. Como não sei o que é uma faceta, procurei e a página abaixo não mostra python como uma faceta disponível. jetbrains.com/idea/help/...
netskink
1
O IntelliJ IDEA 14 Ultimate possui esse recurso e funcionou perfeitamente sem interromper a detecção do meu módulo Java, como a resposta do db42.
Patrick M
depois de fazer isso, não é mesmo mostrando sugestões para construído em módulos para que anteriormente estava lá
Bharat
75

Se o seu SDK do Python estiver configurado corretamente e você ainda estiver enfrentando o problema de os componentes internos não serem reconhecidos, tente o seguinte:

File -> Invalidate Caches/Restart
Alpes
fonte
2
Depois de adicionar um env volta virtual 5 vezes, essa correção ajudou para mim com IDEA 2016/02/01
dlite922
Foi corrigido o problema para mim depois de adicionar um ambiente virtual.
Andrea Bergonzo
Descobri que parar e relançar IntelliJ fixa-lo para mim, eu acho que é a mesma coisa, porém
drevicko
18

Aqui está o que eu tinha que fazer. (E provavelmente esqueci um aspecto importante do meu problema, que é que ele não foi configurado originalmente como um projeto Python, mas como um projeto Java, com alguns arquivos python.)

Configurações do projeto -> Módulos -> botão Mais (adicione um módulo) -> Python

Em seguida, clique no botão "..." ao lado de Python Interpreter.

Na caixa de diálogo "Configurar SDK" exibida, clique no botão "+". Selecione "Python SDK" e, em seguida, selecione o atalho "Python" padrão que aparece na minha caixa de diálogo de localização.

Aguarde cerca de 5 minutos. Leia algumas dicas de produtividade. :)

Clique OK

Aguarde o sistema reconstruir alguns índices.

Viva! A dica de código está de volta para meus módulos!

Toddarooski
fonte
2
"Aguarde cerca de 5 minutos. Leia algumas dicas de produtividade." incrível
Kirby
Isso aparentemente resolvido meus problemas (também meu projeto foi criado inicialmente como um projeto Java)
Andrea Bergonzo
5

Outra possível correção (resolvido meu problema)

Você pode ter configurado o ambiente corretamente, mas por algum motivo ele quebrou ao longo do caminho. Nesse caso, vá para:

file > project settings > modules

Implante a lista de SDKs e procure uma linha vermelha com [invalid] no final. Se você encontrar um, precisará recriar um python sdk.

É provável que o SDK que você trabalha anteriormente também esteja lá, mas não em vermelho. Delete isso.

Agora você pode clicar no newbotão e adicionar seu python virtualenv favorito. E deve funcionar agora.

Romain Vincent
fonte
3

Poucas etapas que me ajudaram (algumas delas são mencionadas acima):

Estrutura do projeto aberto por:

comando +; (usuários de mac) OU clique com o botão direito do mouse no projeto ->Open Module Settings

  1. Facetas ->+ ->Python -><seu projeto> ->OK
  2. Módulos ->Python -><selecione intérprete python>
  3. Projeto ->Projeto SDK -><selecione o SDK relevante>
  4. SDKs -><verifique se é o correto>

Clique em OK.

Abra Executar / Depurar configurações por: Executar ->Editar configurações

  1. Intérprete Python -><verifique se é o caminho certo>

Clique em OK.

Eli
fonte
1

Foi assim que resolvi o meu problema (importei o projeto e ele estava sendo mostrado apenas lá, os arquivos recém-criados não estavam mostrando esses erros):

1) Comando + alt + R (controle no caso de janelas

2) A janela Debug será exibida, selecione seu arquivo e pressione a seta para a direita (->) e escolha Editar e pressione Enter (a janela Editar configuração será exibida)

3) Na configuração, na parte inferior, você pode ver o erro (selecione um módulo com um python sdk válido). Portanto, no Python Interpreter, marque Use Specified Interpreter e, no menu suspenso, selecione sua versão do Python.

(Caso o python não exista, faça o download do plugin python para intelliJ usando o link https://www.jetbrains.com/help/idea/2016.3/installing-updating-and-uninstalling-repository-plugins.html

4) Clique em Aplicar e feche-o.

Bingo está pronto.

Chandra hulesh
fonte
0

Use um arquivo de requisitos (consulte o link para a documentação do JetBrains)

No meu caso, eu precisava arrow. Então eu adicionei

arrow==0.7.0

para meus projetos requirements.txt

A Intellij me pediu para adicionar a biblioteca na primeira vez que escrevi import arrowem um script Python

Kirby
fonte
0

Meu problema era semelhante ao do @Doddarooski, exceto que o módulo que eu tinha, na guia "Dependências", não tinha SDK listado. Cliquei com o botão direito do mouse em 'SDK', peguei edit no menu suspenso e selecionei meu Python SDK. Isso fez o truque.

user108569
fonte
0

Eu consegui funcionar depois de desmarcar as opções a seguir nas Configurações de Execução / Depuração para main.py

Add content roots to PYTHONPATH

Add source roots to PYTHONPATH

Isso ocorreu depois que eu invalidei o cache e reiniciei.

user3079474
fonte
0

Até o meu Intellisense em Pycharm não estava funcionando para módulos como tempo. Problema no meu sistema não foi selecionado Intérprete Vá para Arquivo -> Configurações ... (Ctrl + Alt + S) Abrir Projeto Interpreter

Intérprete do projeto No meu casoFoi selecionado. Selecionei o interpretador python disponível. Se não estiver disponível, você pode adicionar um novo intérprete.

PIYUSH
fonte