0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

PyCharmでteminalを(venv)pwshにする

Last updated at Posted at 2021-03-02

TL;DR

PyCharmのteminalでterminalをpwshにしたら、venvが適用されなかったのでPowerShellのProfileを弄って解決したよ。

アプローチ

PyCharmのterminal設定はsettingsからpwshにできるんだけど、Activate virtualenvにチェック入れててもvenvがアクティベートできない。
以下のコマンドを打つとVIRTUAL_ENV環境変数は来てるようなので、これを活用する設定をPowerShellのプロファイルに施してみる。

PS> Write-Host $env:VIRTUAL_ENV
# U:\path\to\some_venv

作業

profileの設定

まず、$profileを参照して Microsoft.PowerShell_profile.ps1 があるパスを見つける1

PS> Write-Host $profile
# U:\path\to\Microsoft.PowerShell_profile.ps1

そしたら適当なエディタで開いて、中身を編集する。

PS> code $profile   # VSCodeで開く

なかみはこんなかんじ。

$tmp_venv = $null
if ($null -ne $env:VIRTUAL_ENV) {
    $tmp_venv = $env:VIRTUAL_ENV
    try {
        deactivate | Out-Null
    }
    catch {}
}

if ( -not ([string]::IsNullOrEmpty($tmp_venv)) -and (Test-Path -Path $tmp_venv)) {

    . (Join-Path $tmp_venv "\Scripts\Activate.ps1" )
}

PyCharmの設定

  • File > Settings メニュー
    • Tools > Terminal タブ
      • Application setting パネル
        • Shell pathにpwshの場所を入力(C:\Program Files\PowerShell\7\pwsh.exeなど)
        • Activate virtualenvにはチェックをつけておく(いるかわからんけど)

ためす

PyCharmのterminalを開いてみるとちゃんと適用できてるのがわかる。

PowerShell 7.1.0
Copyright (c) Microsoft Corporation.

https://aka.ms/powershell
Type 'help' to get help.

(some_venv) PS> 
  1. $profileはVSCodeで実行するとMicrosoft.VSCode_profile.ps1 (VSCodeのprofile)を返すようなので、VSCodeのPowerShell Extentionでプロファイルを探す場合には一回powershell(またはps coreを使ってるならpwsh)を叩いてからWrite-Host $profile叩くとよい。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?