最近在使用Anaconda的过程中,发现在Windows的PowerShell在使用`conda activate 环境名`激活环境时无效,而CMD则可以。这里前提**必须将Anaconda 写入环境变量**。否则在PowerShell 输入conda 的任何命令都会无法识别。
首先在终端输入`conda --version`查看自己的anaconda版本。
[](https://i.loli.net/2019/04/25/5cc16d86dc016.png)
## Conda版本低于4.6
解决方法如下:
- 用Win + X 组合键调出PowerShell 管理员模式;
- 输入命令`conda install -n root -c pscondaenvs pscondaenvs`安装PSCondaEnvs包;
- 输入命令`Set-ExecutionPolicy RemoteSigned`在出现选项后输入`Y`回车,更改PowerShell 的安全策略。
- 在PowerShell中激活和退出环境的命令分别为`activate 环境名`和`deactivate`,**注意:需要去掉原命令中开头的conda,否则也不会成功。**
这时问题应该解决了,结果如下:
[](https://i.loli.net/2019/03/24/5c9790a512fda.png)
## Conda版本大于等于4.6
解决方法如下:
- 用Win + X 组合键调出PowerShell 管理员模式;
- 输入命令`conda init powershell`;
- 关闭当前powershell窗口,重新打开一个powershell窗口输入`conda activate 环境名`测试。
CMD 的话只需把上面三步中的powershell 改为cmd.exe 即可。
这时问题应该解决了,结果如下:
[](https://i.loli.net/2019/04/25/5cc16d992cfab.png)
## 如果不想每次一启动Shell 就自动激活Base 环境
在终端输入`conda config --set auto_activate_base false`,即可。
如果又反悔了,想显示了:
`conda config --set auto_activate_base true`。
转载自: [解决Win10 PowerShell无法激活Anaconda环境的问题 - Dereen - 博客园 (cnblogs.com)](https://www.cnblogs.com/dereen/p/ps_conda_env.html)