🗂

.venvで仮想環境を構築する際、PowerShell のスクリプトを実行できない

に公開

以下の記事を参考にvscodeで.venvで仮想環境を構築していました。

https://qiita.com/otya1989/items/59717648daddcab0d6d1

仮想環境をactivateするタイミングで次のエラーが出ました。

.\.venv\Scripts\activate
.\.venv\Scripts\activate : このシステムではスクリプトの実行が無
効になっているため、ファイル \.venv\Scripts\Activate.ps1 を読み込むことができません。詳細については、「about_Execution_Policies」(https://go.microsoft.com/fwlink/?) を参照してください。
発生場所 行:1 文字:1
+ .\.venv\Scripts\activate
+ ~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : セキュリティ エラー: (: ) []、PSSecurityEx    ception
    + FullyQualifiedErrorId : UnauthorizedAccess

..venv\Scripts\activateというコマンドは、仮想環境を立ち上げるために、PowerShellにスクリプトを実行するように命令しているのですが、WindowsのPowerShellの設定で、スクリプトの実行権限が制限されていると上記のようなエラーが出ます。

以下のコマンドで実行権限を確認すると、「Restricted」になっています。

Get-ExecutionPolicy

「Restricted」だと、ローカルか否かや署名の有無にかかわらずスクリプトが実行できないので、「RemoteSigned」に変更します

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

「RemoteSigned」は、署名の有無にかかわらずローカルのファイルのみを実行するステータスです。

そして、再度「.\.venv\Scripts\activate」で今度は問題なく仮想環境をactiveにできるはずです。


参考
https://qiita.com/Targityen/items/3d2e0b5b0b7b04963750
https://qiita.com/otya1989/items/59717648daddcab0d6d1
https://zenn.dev/optimisuke/articles/44bdf0e4a07b60
https://www.python.jp/install/windows/venv.html

Discussion