WSL(Ubuntu on Windows)のソリューション
WSL(WindowsのUbuntu)を使用している場合は、pycharmでターミナルとしてbashを開き、linux virtualenvをアクティブにすることもできます。
.pycharmrc
Peter Gibsonの回答に記載されているようなファイルを使用してください。.pycharmrc
次の内容でファイルをホームディレクトリに追加します。
source ~/.bashrc
source ~/path_to_virtualenv/bin/activate
Pycharm ファイル>設定>ツール>ターミナルで、次の「シェルパス」を追加します。
"C:/Windows/system32/bash.exe" -c "bash --rcfile ~/.pycharmrc"
プロジェクト固有のvirtualenv
のvirtualenvへのパス.pycharmrc
は絶対パスである必要はありません。プロジェクトディレクトリからの相対パスを設定することで、プロジェクト固有のvirtualenvを設定できます。私のvirtualenvは常にプロジェクトディレクトリの下の「venv」フォルダーにあるため、.pycharmrc
ファイルは次のようになります。
source〜 / .bashrc
source〜/ pycharmvenv / bin / activate#絶対パス
source ./venv/bin/activate #relative path
ボーナス:sshトンネルを自動的に開いて、virtualenvをプロジェクトインタープリターとして接続します
以下を.pycharmrc
ファイルに追加します。
if [ $(ps -aux | grep -c 'ssh') -lt 2 ]; then
sudo service ssh start
fi
これにより、sshトンネルがすでに開かれているかどうかが確認され、そうでない場合は開かれます。で、ファイル- >設定- >プロジェクト- >プロジェクト通訳 Pycharmでは、次のような構成で新しいリモートインタプリタを追加します。
+ -------------------------- + ---------------------- ----------- + ------- + ---- +
| 名前:| <通訳名> | | |
| 選択| 「SSHクレデンシャル」| | |
| ホスト:| 127.0.0.1 | ポート:| 22 |
| ユーザー:| <Linuxユーザー名> | | |
| 認証タイプ:| 「パスワード」| | |
| パスワード:| <Linuxパスワード> | | |
| Pythonインタープリターパス:| <virtualenvへのLinuxパス> | | |
| Pythonヘルパーパス:| <自動設定> | | |
+ -------------------------- + ---------------------- ----------- + ------- + ---- +
プロジェクトを開くと、bashは自動的にvirtualenvで開始し、sshトンネルを開き、pycharmはvirtualenvをリモートインタープリターとして接続します。
警告:Windowsの最後の更新では、起動時にSshBrokerおよびSshProxyサービスが自動的に開始されます。これらは、LinuxからWindowsへのsshトンネルをブロックします。これらのサービスは、タスクマネージャー->サービスで停止できます。その後、すべてが再び機能します。
~/pycharmenv/bin/terminalactivate
良いオプションのように聞こえます。