前言
有点类似linux特定情况下只能用 source activate 环境名称 的情况,linux在旧版conda中经常能够碰到这个问题
以及在脚本里不能直接conda activate
那么windows的powershell呢?
其实仔细观察观察就会发现,你的psl前缀应该还是这样
PS C:\Users\Administrator>
留心一点你可能就发现问题了:嗯?我的(base)去哪了
没错,原因就是conda没有在powershell正确的完成初始化
CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
If using 'conda activate' from a batch script, change your
invocation to 'CALL conda.bat activate'.
To initialize your shell, run
$ conda init <SHELL_NAME>
Currently supported shells are:
- bash
- cmd.exe
- fish
- tcsh
- xonsh
- zsh
- powershell
See 'conda init --help' for more information and options.
IMPORTANT: You may need to close and restart your shell after running 'conda init'.
正常来说,这玩意应该会弹个警告出来,但是有些时候可能是cmd上配置好了,然后psl它就不弹了
解决方法
修改脚本执行策略
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
当然,这就没那么安全了
不过为了用psl还是只能这么放宽一下执行规则了
初始化Conda于PowerShell
conda init powershell
最后的时候你应该会看到命令输出提示你关闭psl窗口,重启psl
重启后你应该就能看到环境标识了
(base) PS C:\Users\Administrator>
相关资料
解决PowerShell中conda activate指令无效的问题
https://blog.csdn.net/u010393510/article/details/130715238
Microsoft Powershell执行策略
https://learn.microsoft.com/zh-cn/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.4