PowerShellでAnacondaスクリプトを実行するとエラーになる

PowerShellでAnacondaスクリプトを実行するとエラーになる

次のコマンドを実行したあとにPowerShellを開いたとき、このエラーに遭遇しました。

conda init powershell

PowerShellはプロファイルスクリプトを読み込もうとしましたが、現在の実行ポリシーによってブロックされました。

+ . <<<<  'C:UsersuserDocumentsWindowsPowerShellprofile.ps1'
    + CategoryInfo          : NotSpecified: (:) [], PSSecurityException
    + FullyQualifiedErrorId : RuntimeException

conda init powershell は、Condaが自動的に初期化されるようにPowerShellのプロファイルを変更します。PowerShellでプロファイルスクリプトの実行が許可されていない場合、Condaは読み込みを完了できず、シェルは PSSecurityException を報告します。

より安全な修正方法は、現在のユーザーに対してローカルで作成されたスクリプトを許可することです。

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

その後、PowerShellを閉じてもう一度開きます。

それでも、私の環境で問題を解決した元のより広い設定を使いたい場合は、次を実行します。

Set-ExecutionPolicy Unrestricted -Scope CurrentUser

有効なポリシーは次のコマンドで確認できます。

Get-ExecutionPolicy -List

ほとんどのローカルConda環境では、CurrentUser だけを変更すれば十分で、マシン全体のポリシーを変更せずに済みます。

Leave a Reply