Conda 的最新版本 (4.6.1) 声称增加了初始化支持,特别是引用了 PowerShell。从这个官方更新发布文档中可以看出
但是,在升级和初始化设置时:
conda update conda
conda init
产生这个输出:
C:\Users\User\Miniconda3\Scripts\conda.exe
C:\Users\User\Miniconda3\Scripts\conda-env.exe
C:\Users\User\Miniconda3\Scripts\conda-script.py
C:\Users\User\Miniconda3\Scripts\conda-env-script.py
C:\Users\User\Miniconda3\condabin\conda.bat
C:\Users\User\Miniconda3\Library\bin\conda.bat
C:\Users\User\Miniconda3\condabin\_conda_activate.bat
C:\Users\User\Miniconda3\condabin\conda_auto_activate.bat
C:\Users\User\Miniconda3\condabin\conda_hook.bat
C:\Users\User\Miniconda3\Scripts\activate.bat
C:\Users\User\Miniconda3\condabin\activate.bat
C:\Users\User\Miniconda3\condabin\deactivate.bat
C:\Users\User\Miniconda3\Scripts\activate
C:\Users\User\Miniconda3\Scripts\deactivate
C:\Users\User\Miniconda3\etc\profile.d\conda.sh
C:\Users\User\Miniconda3\etc\fish\conf.d\conda.fish
C:\Users\User\Miniconda3\shell\condabin\Conda.psm1
C:\Users\User\Miniconda3\shell\condabin\conda-hook.ps1
C:\Users\User\Miniconda3\Lib\site-packages\xonsh\conda.xsh
C:\Users\User\Miniconda3\etc\profile.d\conda.csh
C:\Users\User\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun
(确保按照指示重新加载新的 shell 会话)
当我尝试在 PowerShell 中初始化时,我在立即加载 PowerShell 时收到此错误消息(在尝试 conda activate myenv 之前):
. : File C:\Users\User\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 cannot be loaded because running
scripts is disabled on this system. For more information, see about_Execution_Policies at
https:/go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:3
+ . 'C:\Users\User\Documents\WindowsPowerShell\Microsoft.PowerShell_p ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : SecurityError: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
基于此链接指向 Microsoft 执行策略这似乎是一个安全问题。我假设 Conda 已提交正确的发布认证,但是尽管上面的 conda init 输出显示了对 PowerShell_profile.ps1 文件的修改(上面“conda init”输出中的倒数第二行),但我无法让 conda 在 PowerShell 中初始化。
此链接说明如何手动设置 RemoteSigned 的执行策略
指导:
Run shell as Administrator.
> Get-ExecutionPolicy
> Set-ExecutionPolicy remoteSigned
Done.
To Undo
> Set-ExecutionPolicy restricted
并提供了官方 Microsoft.PowerShell.Security 文档的链接
正如我已经在这里记录的那样
然而,我对是否进行手动调整犹豫不决,因为我过去在设置策略时遇到过问题,并且担心它会比清理 PowerShell 集成问题造成更多混乱,特别是考虑到最新的conda 版本的目的是在结构上/本机上做到这一点。
我是否可能只需要更新我的 PowerShell?我有 Windows 10 并运行 PowerShell 版本 5.1。
任何帮助将非常感激,因为我非常希望将 conda 集成到 Visual Studio Code 终端中。