Solução para WSL (Ubuntu no Windows)
Se estiver usando WSL (Ubuntu no Windows), você também pode abrir o bash como terminal no pycharm e ativar um virtualenv do linux.
Use um .pycharmrc
arquivo como descrito na resposta de Peter Gibson; Adicione o .pycharmrc
arquivo ao seu diretório inicial com o seguinte conteúdo:
source ~/.bashrc
source ~/path_to_virtualenv/bin/activate
Em Arquivo Pycharm > Configurações> Ferramentas> Terminal, adicione o seguinte 'Caminho do shell':
"C:/Windows/system32/bash.exe" -c "bash --rcfile ~/.pycharmrc"
Virtualenv específico do projeto
O caminho para o seu virtualenv in .pycharmrc
não precisa ser absoluto. Você pode definir um virtualenv específico do projeto definindo um caminho relativo do diretório do projeto. Meu virtualenv está sempre localizado em uma pasta 'venv' no diretório do meu projeto, então meu .pycharmrc
arquivo se parece com este:
source ~ / .bashrc
source ~ / pycharmvenv / bin / activate #absolute path
source ./venv/bin/activate #relative path
BÔNUS: abre automaticamente o túnel ssh para conectar o virtualenv como intérprete do projeto
Adicione o seguinte ao seu .pycharmrc
arquivo:
if [ $(ps -aux | grep -c 'ssh') -lt 2 ]; then
sudo service ssh start
fi
Isso verifica se um túnel ssh já está aberto e abre um caso contrário. Em Arquivo -> Configurações -> Projeto -> Intérprete do projeto no Pycharm, adicione um novo interpretador remoto com a seguinte configuração:
+ -------------------------- + ---------------------- ----------- + ------- + ---- +
| Nome: | <Nome do intérprete> | | |
| Selecione | 'Credenciais SSH' | | |
| Host: | 127.0.0.1 | Porto: | 22
| Usuário: | <Nome de usuário do Linux> | | |
| Tipo de autenticação: | 'Senha' | | |
| Senha: | <Senha do Linux> | | |
| Caminho do interpretador Python: | <Caminho do Linux para seu virtualenv> | | |
| Caminho dos ajudantes Python: | <Definir automaticamente> | | |
+ -------------------------- + ---------------------- ----------- + ------- + ---- +
Agora, quando você abre seu projeto, seu bash inicia automaticamente em seu virtualenv, abre um túnel ssh e o pycharm conecta o virtualenv como interpretador remoto.
aviso: a última atualização no Windows inicia automaticamente um serviço SshBroker e SshProxy na inicialização. Eles bloqueiam o túnel ssh do Linux para o Windows. Você pode interromper esses serviços em Gerenciador de Tarefas -> Serviços, após o qual tudo funcionará novamente.
~/pycharmenv/bin/terminalactivate
parece uma boa opção.