激活 conda 环境时,conda 会记住之前激活的环境。例如,如果没有激活任何环境,则调用 conda activate foo
然后调用 conda deactivate
将导致没有任何环境处于事件状态。但是,调用 conda activate foo
,然后调用 conda activate bar
,然后调用 conda deactivate
会导致“foo”环境处于事件状态。 Conda 在激活时将每个环境放在堆栈上,停用时只会从堆栈中弹出一个项目。
如何在使用 bash 版本的 conda 时停用所有 conda 环境?
例如,如果我有一个重建环境的脚本,它需要确保该环境当前未处于事件状态,因此它应该停用所有环境。我可以在脚本顶部粘贴十个左右的 conda deactivate
,这可能就足够了,但我正在寻找不那么笨拙的东西。
最佳答案
conda 环境堆栈的深度存储在环境变量CONDA_SHLVL
中。多次运行 conda deactivate
应该会停用所有环境。
for i in $(seq ${CONDA_SHLVL}); do
conda deactivate
done
关于conda - 停用所有 conda 环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68441393/