在 PowerShell 中运行 Anaconda 脚本时报错
我在运行以下命令后打开 PowerShell 时遇到了这个错误:
conda init powershell
PowerShell 尝试加载我的配置文件脚本,但由于当前执行策略而阻止了它:
+ . <<<< 'C:UsersuserDocumentsWindowsPowerShellprofile.ps1'
+ CategoryInfo : NotSpecified: (:) [], PSSecurityException
+ FullyQualifiedErrorId : RuntimeException
conda init powershell 会修改 PowerShell 配置文件,让 Conda 能够自动初始化。如果 PowerShell 不允许运行配置文件脚本,Conda 就无法完成加载,shell 会报告 PSSecurityException。
一个更安全的修复方法是允许当前用户运行本地创建的脚本:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
然后关闭 PowerShell,再重新打开。
如果你仍然想使用当时帮我解决问题的原始、更宽松的设置,可以运行:
Set-ExecutionPolicy Unrestricted -Scope CurrentUser
你可以用下面的命令查看当前生效的策略:
Get-ExecutionPolicy -List
对于大多数本地 Conda 设置来说,只修改 CurrentUser 就足够了,并且可以避免更改整台机器的策略。
