Soluzione per WSL (Ubuntu su Windows)
Se stai usando WSL (Ubuntu su Windows), puoi anche aprire bash come terminale in pycharm e attivare un virtualenv di linux.
Usa un .pycharmrc
file come descritto nella risposta di Peter Gibson; Aggiungi il .pycharmrc
file alla tua home directory con il seguente contenuto:
source ~/.bashrc
source ~/path_to_virtualenv/bin/activate
In Pycharm File> Impostazioni> Strumenti> Terminale aggiungi il seguente "Percorso shell":
"C:/Windows/system32/bash.exe" -c "bash --rcfile ~/.pycharmrc"
Virtualenv
Il percorso per il tuo virtualenv in .pycharmrc
non deve essere assoluto. Puoi impostare un virtualenv specifico del progetto impostando un percorso relativo dalla directory del progetto. Il mio virtualenv si trova sempre in una cartella 'venv' nella directory del mio progetto, quindi il mio .pycharmrc
file ha questo aspetto:
fonte ~ / .bashrc
fonte ~ / pycharmvenv / bin / attivare il percorso #absolute
source ./venv/bin/activate #percorso relativo
BONUS: apri automaticamente il tunnel ssh per connettere virtualenv come interprete del progetto
Aggiungi quanto segue al tuo .pycharmrc
file:
if [ $(ps -aux | grep -c 'ssh') -lt 2 ]; then
sudo service ssh start
fi
Questo controlla se un tunnel ssh è già aperto e ne apre uno altrimenti. In File -> Impostazioni -> Progetto -> Interprete del progetto in Pycharm, aggiungi un nuovo interprete remoto con la seguente configurazione:
+ -------------------------- + ---------------------- ----------- + ------- + ---- +
| Nome: | <Nome interprete> | | |
| Seleziona | "Credenziali SSH" | | |
| Host: | 127.0.0.1 | Porta: | 22 |
| Utente: | <Nome utente Linux> | | |
| Tipo di autenticazione: | "Password" | | |
| Password: | <Password Linux> | | |
| Percorso interprete Python: | <Percorso Linux per il tuo virtualenv> | | |
| Percorso degli helper Python: | <Imposta automaticamente> | | |
+ -------------------------- + ---------------------- ----------- + ------- + ---- +
Ora, quando apri il tuo progetto, il tuo bash si avvia automaticamente nel tuo virtualenv, apre un tunnel ssh e pycharm connette virtualenv come interprete remoto.
avviso: l'ultimo aggiornamento in Windows avvia automaticamente un servizio SshBroker e SshProxy all'avvio. Questi bloccano il tunnel ssh da Linux a Windows. Puoi interrompere questi servizi in Task Manager -> Servizi, dopodiché tutto funzionerà di nuovo.
~/pycharmenv/bin/terminalactivate
sembra una buona opzione.