问题描述
我正在尝试从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>
选项激活环境时仅显示目录名称。