🦐

【Python/Powershell】仮想環境を全然activateできなくて沼った

に公開

記事の内容

Pythonでの仮想環境(venv)を立ち上げようしても全く上手くいかなかったため、その解決方法について記載する。

やりたいこと

仮想環境を作成し、起動する。

実行環境

VScode
PowerShell

1. コマンドで仮想環境を作成

python -m venv [仮想環境名]

2. セキュリティポリシーの解除

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force

https://qiita.com/jugem_373/items/09c2d6abb7ccdd0fee48

3. 仮想環境を実行

[仮想環境名]\Scripts\activate.bat

実行されない...??




何も表示されない...

解決方法

拡張子を.bat.ps1に変更すれば起動できます。

[仮想環境名]\Scripts\activate.ps1


理由としては、PowerShellはデフォルトで.ps1ファイルをスクリプトとして認識し、.batファイルはcmd.exeのコマンドとして扱われるため、直接実行しようとすると期待通りの動作をしないためです。
https://www2.mouse-jp.co.jp/ssl/user_support2/sc_faq_documents.asp?FaqID=45572

ちなみに拡張子無しでも起動できました。

[仮想環境名]\Scripts\activate

ヘッドウォータース

Discussion