如何解决安装/激活 R 时 conda 无限期挂起
昨天的某个时候,我开始遇到(迷你)conda 和包含 R 的环境的问题。基本上将 R 安装到环境中,或激活包含 SELECT * FROM Table A1 INNER JOIN table B ON B.fieldnaame = 'ABC' AND fieldname = 'A'
UNION ALL
SELECT * FROM Table A2 INNER JOIN table B ON B.fieldnaame = 'ABC' AND fieldname = 'A'
UNION ALL
SELECT * FROM Table A3 INNER JOIN table B ON B.fieldnaame = 'ABC' AND fieldname = 'A'
UNION ALL
SELECT * FROM Table A4 INNER JOIN table B ON B.fieldnaame = 'ABC' AND fieldname = 'A';
(或其某些依赖项)的环境可重现地导致 conda 进程完全冻结终端。 Ctrl+c 什么都不做,按回车键甚至不会创建换行符。它完全冻结了。
以下为我重现了错误:
r-base
这只是无限期地挂起(或者至少它持续了一夜没有变化)。
我已经尝试删除 conda 并重新安装它,并删除我的大部分环境。
...有什么想法吗?
编辑:不知何故,这是 conda-forge 版本的 r-base 执行此操作...从我的 conda create -n r-env r-base
conda activate r-env
中的频道列表中删除它意味着这不再挂起。奇怪的是,conda-forge 的 r-base 上次更新是在 7 天前,直到昨天我才遇到问题。
解决方法
调试 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
的环境来说似乎是特殊的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。