conda activate 失败(导致 IndexError:列表索引超出范围)

问题描述 投票:0回答:2

我有一个新的 Ubuntu 22.04 副本,正在 Windows 11 Pro 的 Hyper-V 虚拟机中运行。我刚刚从 anaconda.com 安装了 Anaconda。一切看起来都很好(我也将 Conda 添加到路径中。)

我使用以下方法创建了一个新环境:

conda create --name proto202211

环境创建成功,conda告诉我:

要激活此环境,请使用 $ conda 激活 proto202211

所以我这样做了,但我收到了很长的错误报告,并且环境无法激活。我重新启动了 Linux 机器。一样。我创建了一个新环境 myenv,但也无法切换到该环境(同样的错误)。我可以列出环境,conda 会看到 proto202211 和 myenv。它认识到它们在那里。但如果我尝试激活它们,我就会遇到很长时间的失败。

我已附上我遇到的错误的图像。

First part of the error message

Second part of the error message

帮助。

python linux ubuntu anaconda conda
2个回答
2
投票

我找到了解决这个问题的方法。安装 anaconda 后,我使用以下方法手动编辑了我的路径:

echo "导出 PATH=$PATH:/home/nate/anaconda3/bin">> ~/.bashrc

这是一个坏主意。我使用 gedit 从 .bashrc 中删除了该行,重新启动了 bash,现在我可以切换环境了。

我从这个类似(但不相同)的问题中得到了尝试这个的想法:无法激活现有的 conda 环境


0
投票

我遇到了同样的问题,我发现查看 .bashrc 文件并查找重复的 PATH 分配很有用。例如,您看到“export PATH = ....”在文件中出现两次,很可能您正在附加重复的信息。

我的问题源于重新安装 Anaconda,因为安装程序编辑了我的 .bashrc 文件两次,导致索引错误。

这是我的.bashrc文件的一部分供参考:

if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi
export PATH=/home/sean/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/sean/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/home/sean/anaconda3/etc/profile.d/conda.sh" ]; then
        . "/home/sean/anaconda3/etc/profile.d/conda.sh"
    else
        export PATH="/home/sean/anaconda3/bin:$PATH"
    fi
fi
unset __conda_setup

# <<< conda initialize <<<
export PATH=/home/sean/anaconda3/bin:$PATH
© www.soinside.com 2019 - 2024. All rights reserved.