Anaconda在PowerShell中无法使用activate激活环境

我在电脑里用anaconda创建了一个tensorflow环境,在Anaconda Navigator管理器中确实显示已经创建成功:

并且使用Anaconda Navigator管理器也是可以成功激活环境的:

但是问题来了:我在windows自带的Windows PowerShell里使用activate命令切换环境时,命令明明已经成功执行,但却没有成功切换环境,如图:

经过各种折腾,终于发现原来是Power Shell并不兼容anaconda的虚拟环境!


解决方法:

情况一:Conda版本低于4.6

安装开源库:GitHub - BCSharp/PSCondaEnvs: Implementation of Conda's activate/deactivate functions in Powershell.

命令如下:

conda install -n root -c pscondaenvs pscondaenvs

然后更改Windows PowerShell配置,管理员身份启动PowerShell,并执行:

Set-ExecutionPolicy RemoteSigned

 执行效果如下:

PS C:\Windows\system32> Set-ExecutionPolicy RemoteSigned

执行策略更改
执行策略可帮助你防止执行不信任的脚本。更改执行策略可能会产生安全风险,如 https:/go.microsoft.com/fwlink/?LinkID=135170
中的 about_Execution_Policies 帮助主题所述。是否要更改执行策略?
[Y] 是(Y)  [A] 全是(A)  [N] 否(N)  [L] 全否(L)  [S] 暂停(S)  [?] 帮助 (默认值为“N”): Y
PS C:\Windows\system32>

再次执行activate tensorflow,成功切换激活环境:

情况二:Conda版本高于4.6

 conda 4.6以上版本,已经内置了对PowerShell的支持。

 以管理员身份打开,并在Powershell窗口输入:

conda init powershell

 然后重新以管理员身份打开Powershell,输入:

conda activate 虚拟环境名称

 即可成功切换!


觉得有用请留下你的赞 ^_^

  • 95
    点赞
  • 162
    收藏
    觉得还不错? 一键收藏
  • 19
    评论
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值