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 だけを変更すれば十分で、マシン全体のポリシーを変更せずに済みます。
