🗂
.venvで仮想環境を構築する際、PowerShell のスクリプトを実行できない
以下の記事を参考にvscodeで.venvで仮想環境を構築していました。
仮想環境を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にできるはずです。
参考
Discussion