最近在使用Anaconda的过程中,发现在Win10的PowerShell在使用conda activate 环境名
激活环境时无效,而CMD则可以。这里前提必须将Anaconda 写入环境变量。否则在PowerShell 输入conda 的任何命令都会无法识别。
首先在终端输入conda --version
查看自己的anaconda版本。
Conda版本低于4.6
解决方法如下:
- 用Win + X 组合键调出PowerShell 管理员模式;
- 输入命令
conda install -n root -c pscondaenvs pscondaenvs
安装PSCondaEnvs包; - 输入命令
Set-ExecutionPolicy RemoteSigned
在出现选项后输入Y
回车,更改PowerShell 的安全策略。 - 在PowerShell中激活和退出环境的命令分别为
activate 环境名
和deactivate
,注意:需要去掉原命令中开头的conda,否则也不会成功。
这时问题应该解决了,结果如下:
Conda版本大于等于4.6
解决方法如下:
- 用Win + X 组合键调出PowerShell 管理员模式;
- 输入命令
conda init powershell
; - 关闭当前powershell窗口,重新打开一个powershell窗口输入
conda activate 环境名
测试。
CMD 的话只需把上面三步中的powershell 改为cmd.exe 即可。
这时问题应该解决了,结果如下:
如果不想每次一启动Shell 就自动激活Base 环境
在终端输入conda config --set auto_activate_base false
,即可。
如果又反悔了,想显示了:
conda config --set auto_activate_base true
。
这些内容其实官网的文档都有,我也不知道为啥我要写下来- -
参考资料:
https://stackoverflow.com/questions/47800794/how-to-activate-different-anaconda-environment-from-powershell?rq=1
https://www.anaconda.com/conda-4-6-release/
https://github.com/BCSharp/PSCondaEnvs
https://blog.csdn.net/kdongyi/article/details/81905494