在Git Bash中激活Anaconda时出错

问题描述

我正在尝试从Win10中的Git Bash激活Anaconda环境。奇怪的是,它在一开始就起作用了,我设法激活了它,启动了jupyter笔记本,并在笔记本中运行bash命令(我的目标)。

但是,现在我在下面出现此错误

$ source /c/ProgramData/Anaconda3/Scripts/activate
bash: eval: line 57: Syntax error near unexpected token `('
bash: eval: line 57: `PS1=''(Anaconda3)'\[\033]0;$TITLEPREFIX:$PWD\007\]\n\[\033[32m\]\u@\h \[\033[35m\]$MSYstem \[\033[33m\]\w\[\033[36m\]`__git_ps1`\[\033[0m\]\n$ ''

我的activate脚本的内容是:

#!/bin/sh
_CONDA_ROOT="C:/ProgramData/Anaconda3"
\. "$_CONDA_ROOT/etc/profile.d/conda.sh" || return $?
conda activate "$@"

我认为与conda.sh相关的功能

__conda_activate() {
    if [ -n "${CONDA_PS1_BACKUP:+x}" ]; then
        # Handle transition from shell activated with conda <= 4.3 to a subsequent activation
        # after conda updated to >= 4.4. See issue #6173.
        PS1="$CONDA_PS1_BACKUP"
        \unset CONDA_PS1_BACKUP
    fi

    \local cmd="$1"
    shift
    \local ask_conda
    OLdpath="${PATH}"
    __add_sys_prefix_to_path
    # The below is line 57 in the original file:
    ask_conda="$(PS1="$PS1" "$CONDA_EXE" $_CE_M $_CE_CONDA shell.posix "$cmd" "$@")" || \return $?
    PATH="${OLdpath}"
    \eval "$ask_conda"
    __conda_hashr
}

有任何指向如何解决此问题的帮助吗?

解决方法

找到了导致错误的原因。在~/.condarc文件中,此行似乎与从bash激活相冲突:

env_prompt: "'({name})'"

只需注释掉它,它就可以很好地激活。

有关信息,该行的目的是在使用--prefix <path>选项激活环境时仅显示目录名称。