什么是 conda shell 激活?
What is conda shell activation?
Anaconda Installing in silent mode 说
The installer will not prompt you for anything, including setup of your shell to activate conda. To add this activation in your current shell session:
eval "$(command conda 'shell.bash' 'hook' 2> /dev/null)"
这一行实际上做了什么以及哪些文件(例如更新 bashrc 或 bash_profile 等)受到影响?
完成此操作后,当我打开 bash shell 或开始新登录时会发生什么情况?
如果有详细的文档,请建议。
TLDR; Conda shell 激活是定义一些 shell 函数的过程,这些函数有助于激活和停用 Conda 环境,以及一些可选功能例如更新 PS1 以显示活动环境。
在 Conda v4.4 中,对 Conda 管理环境隔离的方式进行了重大改革。其中一部分是使用 shell 函数 conda()
来管理环境的激活,该函数采用 activate
或 install
等参数,而不是让用户使用 activate
脚本以前必须 source activate
.
OP 中的特定命令生成 bash 代码来定义 conda()
函数、它需要的一些辅助函数和环境变量,然后在您当前的 shell 中评估此代码.这不是固定脚本的原因是 Conda 在这里所做的是使用 conda
入口点(即 Python 代码)动态生成的,并考虑了在中找到的配置设置~/.condarc
.
您可以完全检查此代码,而无需仅通过 运行
对其进行评估
conda shell.bash hook
这会将代码输出为字符串。每个人都会看到的常见元素是 conda()
函数及其辅助元素(例如,以 __conda_
开头)。其他方面取决于配置。例如,如果 auto_activate_base
为真(默认值),那么最后将发出 conda activate base
。
Anaconda Installing in silent mode 说
The installer will not prompt you for anything, including setup of your shell to activate conda. To add this activation in your current shell session:
eval "$(command conda 'shell.bash' 'hook' 2> /dev/null)"
这一行实际上做了什么以及哪些文件(例如更新 bashrc 或 bash_profile 等)受到影响?
完成此操作后,当我打开 bash shell 或开始新登录时会发生什么情况?
如果有详细的文档,请建议。
TLDR; Conda shell 激活是定义一些 shell 函数的过程,这些函数有助于激活和停用 Conda 环境,以及一些可选功能例如更新 PS1 以显示活动环境。
在 Conda v4.4 中,对 Conda 管理环境隔离的方式进行了重大改革。其中一部分是使用 shell 函数 conda()
来管理环境的激活,该函数采用 activate
或 install
等参数,而不是让用户使用 activate
脚本以前必须 source activate
.
OP 中的特定命令生成 bash 代码来定义 conda()
函数、它需要的一些辅助函数和环境变量,然后在您当前的 shell 中评估此代码.这不是固定脚本的原因是 Conda 在这里所做的是使用 conda
入口点(即 Python 代码)动态生成的,并考虑了在中找到的配置设置~/.condarc
.
您可以完全检查此代码,而无需仅通过 运行
对其进行评估conda shell.bash hook
这会将代码输出为字符串。每个人都会看到的常见元素是 conda()
函数及其辅助元素(例如,以 __conda_
开头)。其他方面取决于配置。例如,如果 auto_activate_base
为真(默认值),那么最后将发出 conda activate base
。