将 conda 环境信息添加到终端提示符
Add conda environment info to terminal prompt
(我在 MacBook 上使用 anaconda)
默认情况下,conda 将环境信息添加到命令提示符中,如下所示:
$ source activate my_env
(my_env) $ source deactivate
$
可以使用
关闭和打开
conda config --set changeps1 (true|false)
由于我的终端提示已经自定义,我想以不同的方式添加环境信息,但不知道具体如何。
现在我在我的 .bash_profile 文件中使用两个命令 sac
和 dac
来激活和停用环境,因此这个业余尝试添加 env_var
:
env_var=""
#activate env (default env = my_env)
sac() {
if [ -z ];
then
ENV="my_env"
else
ENV=""
fi
source activate ${ENV}
env_var="${ENV}"
}
#deactivate env
dac() {
source deactivate
env_var=""
}
env_info() {
if [[ ${env_var} == "" ]]
then
echo ""
else
echo "in ${env_var}"
fi
}
PS1="\u "
PS1+="$(env_info) $";
这是行不通的(我的 bash 知识只是基本的,抱歉...)。
env_info
始终保持 ""
无论我是否在终端中调用 sac
或 dac
。
问题 1:为什么代码不起作用?
问题 2: 或者是否有另一种方法可以获取当前的环境信息 - 为此目的 - 有用的格式?
conda info --envs
returns 很多信息...
darthbith 的评论中建议的方法非常有效。变量 $CONDA_DEFAULT_ENV
正是我要找的:
>>> source activate myEnv
>>> echo $CONDA_DEFAULT_ENV
myEnv
要添加到 A.Wenn 的答案中,这是我添加到自定义提示中的内容
PS1=""
# Add conda environment to prompt
if [ ! -z "$CONDA_DEFAULT_ENV" ]
then
PS1+="($CONDA_DEFAULT_ENV) "
fi
(我在 MacBook 上使用 anaconda)
默认情况下,conda 将环境信息添加到命令提示符中,如下所示:
$ source activate my_env
(my_env) $ source deactivate
$
可以使用
关闭和打开conda config --set changeps1 (true|false)
由于我的终端提示已经自定义,我想以不同的方式添加环境信息,但不知道具体如何。
现在我在我的 .bash_profile 文件中使用两个命令 sac
和 dac
来激活和停用环境,因此这个业余尝试添加 env_var
:
env_var=""
#activate env (default env = my_env)
sac() {
if [ -z ];
then
ENV="my_env"
else
ENV=""
fi
source activate ${ENV}
env_var="${ENV}"
}
#deactivate env
dac() {
source deactivate
env_var=""
}
env_info() {
if [[ ${env_var} == "" ]]
then
echo ""
else
echo "in ${env_var}"
fi
}
PS1="\u "
PS1+="$(env_info) $";
这是行不通的(我的 bash 知识只是基本的,抱歉...)。
env_info
始终保持 ""
无论我是否在终端中调用 sac
或 dac
。
问题 1:为什么代码不起作用?
问题 2: 或者是否有另一种方法可以获取当前的环境信息 - 为此目的 - 有用的格式?
conda info --envs
returns 很多信息...
darthbith 的评论中建议的方法非常有效。变量 $CONDA_DEFAULT_ENV
正是我要找的:
>>> source activate myEnv
>>> echo $CONDA_DEFAULT_ENV
myEnv
要添加到 A.Wenn 的答案中,这是我添加到自定义提示中的内容
PS1=""
# Add conda environment to prompt
if [ ! -z "$CONDA_DEFAULT_ENV" ]
then
PS1+="($CONDA_DEFAULT_ENV) "
fi