【Python】PowershellでvenvのActivate.ps1実行時にセキュリティエラー

Created 2019年3月31日12:32
Updated 2019年3月31日12:33
Categories Windows

Windowsでvenvを作り、PowershellでActivate.ps1を実行した際に以下のエラーが発生しました。

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

Powershellでスクリプトを実行することはセキュリティ上の懸念からデフォルトでは制限されているためエラーが発生するようです。

対処

以下コマンドを実行することで解決しました。

Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser

ただし、このコマンドは現在のユーザーにすべてのスクリプトの実行を許可しているため、セキュリティ的には少し心配です。

かといってActivate.ps1はデジタル署名されていないので、ほかのオプションだと実行できません。

もう少し安全なポリシーがあれば使いたいのですが、とりあえずUnrestrictedを設定することにしました。

参考

コメントを投稿

コメント