【问题标题】:Add conda environment info to terminal prompt将 conda 环境信息添加到终端提示符
【发布时间】:2018-03-13 17:26:35
【问题描述】:

(我在 MacBook 上使用 anaconda)
默认情况下,conda 将环境信息添加到命令提示符中,如下所示:

$ source activate my_env

(my_env) $ source deactivate

$

这可以关闭和打开使用

conda config --set changeps1 (true|false)

由于我的终端提示已经自定义,我想以不同的方式添加环境信息,但不知道如何准确。

现在我在我的 .bash_profile 文件中使用两个命令 sacdac 来激活和停用环境,因此这个业余尝试添加了 env_var

env_var=""

#activate env (default env = my_env)
sac() {

    if [ -z $1 ];
    then
        ENV="my_env"
    else
        ENV="${1}"
    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 始终保持 "" 无论我是否在终端中调用 sacdac

问题1:为什么代码不起作用?

问题 2: 或者是否有其他方法可以以一种有用的格式获取当前的 env-info?
conda info --envs 返回大量信息...

【问题讨论】:

标签: bash virtualenv conda


【解决方案1】:

darthbith 的评论中建议的方法效果很好。变量$CONDA_DEFAULT_ENV 正是我想要的:

>>> source activate myEnv

>>> echo $CONDA_DEFAULT_ENV
myEnv

【讨论】:

    【解决方案2】:

    要添加 A.Wenn 的答案,这是我添加到自定义提示中的内容

    PS1=""
    
    # Add conda environment to prompt
    if [ ! -z "$CONDA_DEFAULT_ENV" ]
    then
        PS1+="($CONDA_DEFAULT_ENV) "
    fi
    

    【讨论】:

      猜你喜欢
      • 2021-10-02
      • 1970-01-01
      • 2021-11-03
      • 2018-08-02
      • 2018-08-02
      • 2018-05-05
      • 2019-03-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多