condaactivate在powershell脚本下无法正常工作怎么办

本篇文章给大家分享的是有关conda activate 在powershell脚本下无法正常工作怎么办,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

成都创新互联是一家专注于成都做网站、网站设计与策划设计,天祝藏族自治网站建设哪家好?成都创新互联做网站,专注于网站建设10余年,网设计领域的专业建站公司;建站业务涵盖:天祝藏族自治等地区。天祝藏族自治做网站价格咨询:13518219792

Background

用powershell对Windows环境下的conda环境进行自动包管理(别问为什么不用cmd),有些包在anaconda的repo上不存在时,需要切到对应的环境下进行pip安装。但conda activate这个时候不好用了。

Issue

在powershell脚本里执行conda activate无效,无法激活对应的conda 环境,如果在下面进行包管理操作,如安装,更新等实际上还是对父脚本的conda环境进行操作.

// 执行 env_manage.ps1
powershell -ep bypass -File env_manage.ps

// content of env_manage.ps: 
conda activate env_test
conda info --envs

output:
# conda environments:
#
base                  *  C:\Miniconda3
env_test                 C:\Miniconda3\envs\env_test

可见 env_test环境并没有激活,而且conda activate命令并没有报错,没装好不说,还会对base环境的包造成破坏。

Solution

观察Anaconda Poweshell Prompt( conda 4.6版本之后提供的powershell命令提示符 ),这个快捷方式在activate base之前执行了C:\Miniconda3\shell\condabin\conda-hook.ps1这个poweshell。依葫芦画瓢,在我们自己的poweshell脚本activate env执行也去执行这个powershell就行了。

// content of env_manage.ps:
Invoke-Expression 'C:\Miniconda3\shell\condabin\conda-hook.ps1'
conda activate env_test
conda info --envs

output:
# conda environments:
#
base                    C:\Miniconda3
env_test            *     C:\Miniconda3\envs\env_test

以上就是conda activate 在powershell脚本下无法正常工作怎么办,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。


网站题目:condaactivate在powershell脚本下无法正常工作怎么办
链接URL:http://ybzwz.com/article/iishcj.html