A importação de um módulo Python funciona na linha de comando, mas não no PyCharm

8

Meu binário Python padrão é definido como aquele com a distribuição Anaconda do Python. Isto é encontrado em /home/karnivaurus/anaconda/bin/python, e eu fiz este o padrão, adicionando ao meu .bashrcarquivo o seguinte: export PATH=/home/karnivaurus/anaconda/bin:$PATH.

Eu também tenho um pacote de Python chamado caffe, que está localizado na /home/karnivaurus/caffe/distribute/python, e eu adicionei isso ao caminho de pesquisa pacote adicionando ao meu .bashrcarquivo o seguinte: export PYTHONPATH=${PYTHONPATH}:/home/karnivaurus/caffe/distribute/python.

Agora, eu tenho um arquivo Python simples, chamado test.py, com o seguinte conteúdo:

import caffe
print "Done."

Se eu executar isso entrando python test.pyno terminal, ele funcionará bem, imprimindo "Concluído". O problema que estou tendo é quando executo isso no PyCharm IDE. No PyCharm, configurei o intérprete para ser /home/karnivaurus/anaconda/bin/python. Mas quando abro test.pyno PyCharm e executo o arquivo no IDE, recebo o seguinte erro:

ImportError: No module named caffe

Portanto, minha pergunta é: Por que o PyCharm não encontra o caffemódulo quando executa o script Python, mas pode ser encontrado quando executo o script a partir do terminal?

Obrigado!

Karnivaurus
fonte
2
Eu acho que o PyCharm não se importa com o seu .bashrc, pois esse é um arquivo de configuração específico do bash. Você precisa definir essa variável em PyCharm ou em, por exemplo,.profile
Byte Commander

Respostas:

11

Como o ByteCommander disse em um comentário, o PyCharm não usa o bashrc, por isso não sabe onde está sua biblioteca.

Na mesma tela em que você adicionou o intérprete, você pode ver um ícone de roda, clique nele, ele exibirá um menu, clique em mais. Você deve ver uma tela como esta:

Configuração do PyCharm Interpreter

Você deve selecionar seu intérprete e clicar no último botão. Isso deve abrir esta janela:

Configuração de caminhos de intérpretes

Agora, clicando no ícone de adição, você poderá adicionar seus próprios caminhos para as bibliotecas.

Javier Rivera
fonte
2
E este é um bom exemplo de por que dar instruções é mais fácil com a linha de comando que as GUIs.
Javier Rivera
Obrigado. É assim que se adiciona caminhos para as bibliotecas binárias e os módulos Python? Ou os módulos Python devem ser adicionados à "Raiz de origem"?
Karnivaurus #
1
Ambos. Você só deve usar o Source Root se quiser fazer alterações nesses módulos (não é necessário adicioná-lo ao Source Root para conclusão, documentação ou 'indo ao source' para funcionar).
Javier Rivera
5

Os programas iniciados no iniciador do Ubuntu não são lidos.bashrc . Como alternativa para definir os caminhos no PyCharm, você pode simplesmente iniciar o PyCharm a partir de um shell Bash para dar acesso às variáveis ​​de ambiente definidas .bashrc.

Mihai Capotă
fonte
Existe uma maneira de fazer os programas lerem o arquivo .bash_rc quando iniciados no iniciador?
precisa saber é o seguinte
0

Abra o seguinte atalho ( Ctrl+ Alt+ S) e clique em (Projeto: xxxx), agora escolha (Estrutura do projeto) e selecione ( /home/yourUser/PycharmProjects/XXXX/venv/bin) e clique com o botão direito do mouse (Excluído) ou ( Alt+ E).

Agora clique em (+ Adicionar raiz do conteúdo) e veja se ele aponta para o seguinte local ( /home/ yourUser/PycharmProjects/XXXXX/venv/bin) e clique em OK. Agora feche o IDE e abra-o novamente.

Marcio Torres
fonte