installing/activating R 时 conda 无限期挂起

conda hangs indefinitely when installing/activating R

昨天的某个时候,我开始遇到 (mini)conda 和包含 R 的环境的问题。基本上将 R 安装到环境中,或激活包含 r-base(或其某些依赖项)的环境可重复地导致 conda 进程完全冻结终端。 Ctrl+c 什么都不做,按回车键甚至不会创建换行符。完全冻结了。

以下为我重现了错误:

conda create -n r-env r-base
conda activate r-env

这只是无限期地挂起(或者至少它持续了一夜没有变化)。

我已经尝试删除并重新安装 conda,并删除我的大部分环境。

...有什么想法吗?

编辑:conda-forge 的 r-base 版本以某种方式执行此操作...将其从我的 condarc 中的频道列表中删除意味着它不再挂起。奇怪的是,conda-forge 的 r-base 最后一次更新是在 7 天前,我直到昨天才遇到问题。

调试 Conda 激活

Conda 激活主要是关于在 shell 会话中管理环境变量。对于POSIXshells,得到运行的核心可以使用

查看
# need to use the actual binary `conda` 
~/miniconda3/condabin/conda shell.posix activate r-env

对我来说,这显示了正在设置的几个特定于 Conda 的环境变量,以及与包关联的四个激活脚本:

  • gfortran_osx-64
  • r-base
  • clang_osx-64
  • clangxx_osx-64

我会尝试 运行按顺序处理每一个,以找出问题所在。

指出 BASH 的 set -x 命令可能也很有用,以跟踪所有获得 运行 的命令。例如,人们可能会尝试这样的事情:

set -x && . ~/miniconda3/envs/r-env/etc/conda/activate.d/activate-r-base.sh && set +x

跟踪特定的激活脚本。

其他 Conda 激活说明

可以通过以下方式查看 conda activate 的 BASH 来源:

type conda
type __conda_activate

但这不太可能发生问题,因为这似乎是安装了 conda-forge::r-base 的环境所特有的。