conda - 停用所有 conda 环境

标签 conda

激活 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/

相关文章:

python - AttributeError : dlsym(RTLD_DEFAULT, AbsoluteToNanoseconds):找不到符号

conda - 安装 python-pdfkit 在 channel 中找不到

ubuntu - Conda config 显示的项目比配置的多

python - 更新anaconda和安装新包的问题

python - 无法升级Conda并使用Conda安装软件包

python - jupyter lab 404错误如何解决

python-3.x - 关于 pip 和 conda 环境的困惑

python-3.x - Python pip 和 conda 包管理器

python-3.x - Spyder 5 菜单图标与菜单项标签重叠

python - 如何在 Anaconda 版本中安装 theano。 2.1 适用于 Python 3.4 的 Windows 64 位?