Path 康达:当你激活一个环境时会发生什么?

Path 康达:当你激活一个环境时会发生什么?,path,conda,Path,Conda,运行source如何激活更新$PATH变量?我一直在查看CONDA-INSTALLATION/bin/activate脚本,不了解CONDA如何更新我的$PATH变量以包含最近激活的环境的bin目录。没有,我在哪里可以找到conda用来预写$PATH变量的代码。免责声明:我不是conda开发人员,也不是Bash专家。下面的解释是基于我对代码的跟踪,我希望我的解释是正确的。此外,下面的所有链接都是在编写此答案()时主提交的永久链接。行为/行可能在将来的提交中更改。小心:前面有一个深兔子洞 请注意,

运行
source如何激活
更新$PATH变量?我一直在查看
CONDA-INSTALLATION/bin/activate
脚本,不了解CONDA如何更新我的$PATH变量以包含最近激活的环境的bin目录。没有,我在哪里可以找到conda用来预写$PATH变量的代码。

免责声明:我不是conda开发人员,也不是Bash专家。下面的解释是基于我对代码的跟踪,我希望我的解释是正确的。此外,下面的所有链接都是在编写此答案()时主提交的永久链接。行为/行可能在将来的提交中更改。小心:前面有一个深兔子洞

请注意,此说明适用于命令
source activate env name
,但在conda>=4.4中,建议使用
conda activate env name
激活环境。我认为如果使用
conda activate env name
,您应该了解有关进入
cli.main
函数的部分的说明


对于conda>=4.4,您使用的conda版本是什么?conda<4.4和conda>=4.4Hi之间的行为发生了变化,我正在运行版本4.4.8。谢谢是 啊我认为4.4秒前的情况更容易一些。现在,推荐的方法实际上是
conda activate env name
,而不是
source activate env name
,因此激活是在Python中完成的,而不是像以前那样在bash脚本中完成的。我应该记下来。。。
. "$_CONDA_ROOT/etc/profile.d/conda.sh" || return $?
_conda_activate "$@"
_conda_activate() {
# Some code removed...
    local ask_conda
    ask_conda="$(PS1="$PS1" $_CONDA_EXE shell.posix activate "$@")" || return $?
    eval "$ask_conda"

    _conda_hashr
}