问题
每次我们启动bash时,默认为base环境,我们可以通过添加conda activate Env1
到.bashrc
将其设置为Env1
环境。
但是这样还不够智能,我们有时想用自动化启动环境Env2
,还要修改上面的内容。
解决方法
在.bashrc
写一个记忆脚本,记录上次启动的环境,并在开始时自动启动。
function conda_set() {
# 调用原始的conda命令
conda activate "$@"
# 覆盖式保存最新一次启动的conda环境名称到.condarc文件中
rm -f ~/.last_conda_env
echo "$(conda info --envs | grep '*' | awk '{print $1}')" >> ~/.last_conda_env
}
if [ -f ~/.last_conda_env ]; then
# 读取.condarc文件中保存的最后一次启动的conda环境名称
last_conda_env=$(cat ~/.last_conda_env)
# 激活最后一次启动的conda环境
conda activate $last_conda_env
fi
注意该脚本在~
目录下创建了临时的.last_conda_env
文件
使用
用法 conda_set env
等价于 conda activate env