当激活 conda 环境时,conda 会记住之前激活的环境。例如,如果没有激活任何环境,则调用conda activate foo和 thenconda deactivate会导致没有任何环境处于活动状态。然而,调用conda activate foo, then conda activate bar, thenconda deactivate会导致“foo”环境处于活动状态。Conda 在激活每个环境时将其放入堆栈中,停用时只会从堆栈中弹出一项。
使用 bash 版本的 conda 时如何停用所有 conda 环境?
例如,如果我有一个重建环境的脚本,则需要确保该环境当前不处于活动状态,因此它应该停用所有环境。conda deactivate我可以在脚本顶部粘贴十个左右,这可能就足够了,但我正在寻找不那么糟糕的东西。
drh*_*gen 10
conda 环境堆栈的深度存储在环境变量中CONDA_SHLVL。运行conda deactivate这么多次应该会停用所有环境。
for i in $(seq ${CONDA_SHLVL}); do
conda deactivate
done
Run Code Online (Sandbox Code Playgroud)
conda环境的激活意味着你激活的环境就是应用程序使用的环境。因此,conda 中始终有一个活动环境(当您停用时,会激活另一个环境)。
您可能的选择是激活 conda基本(默认)环境,例如conda activate base(或您希望显式激活的任何其他环境)。您还可以删除不需要的环境。
这是关于该主题的好文章:https://towardsdatascience.com/manage-your-python-virtual-environment-with-conda-a0d2934d5195
| 归档时间: |
|
| 查看次数: |
15280 次 |
| 最近记录: |