【问题标题】:conda hangs indefinitely when installing/activating R安装/激活 R 时 conda 无限期挂起
【发布时间】:2021-05-28 11:36:59
【问题描述】:

昨天的某个时候,我开始遇到 (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-forge”是解决这个问题的一个不错的解决方案..
  • R CMD javareconf 如果我用r-env/bin/R 调用它会失败,因为它在conda env (/bin/sh: 1: x86_64-conda-linux-gnu-cc: not found) 中找不到gcc。不知道如何逐步完成激活过程以找出它挂在哪里
  • 您可以使用~/miniconda3/condabin/conda shell.posix activate r-env手动检索激活步骤字符串。 Conda 激活的核心是该字符串的eval
  • 这是一个很大的提示,谢谢。似乎添加alias R="radian" 是罪魁祸首。

标签: r bash conda


【解决方案1】:

调试 Conda 激活

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

# 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 的环境所特有的。

【讨论】:

    猜你喜欢
    • 2020-07-24
    • 2013-02-20
    • 1970-01-01
    • 2021-12-27
    • 1970-01-01
    • 2021-10-24
    • 1970-01-01
    • 1970-01-01
    • 2022-11-23
    相关资源
    最近更新 更多