【发布时间】:2020-05-28 04:39:48
【问题描述】:
我正在尝试构建一个 docker 映像来执行一个 python 进程,该进程调用(使用 rpy2)来自 R 的包 drc。
我正在使用 amazonlinux docker 映像并使用 drc 我有以下几行通过 conda 安装它:
RUN conda install -c r rpy2=2.9.4 --yes
RUN conda install -c conda-forge r-drc=3.0_1 --yes
通过图像构建,我进入一个正在运行的容器:
docker run -it --entrypoint bash mydockerName
当我通过R 进入 R 时,它会抛出下一个错误:
Error: package or namespace load failed for 'utils':
.onLoad failed in loadNamespace() for 'utils', details:
call: system(paste(which, shQuote(names[i])), intern = TRUE, ignore.stderr = TRUE)
error: error in running command
Error: package or namespace load failed for 'stats':
.onLoad failed in loadNamespace() for 'utils', details:
call: system(paste(which, shQuote(names[i])), intern = TRUE, ignore.stderr = TRUE)
error: error in running command
During startup - Warning messages:
1: package 'utils' in options("defaultPackages") was not found
2: package 'stats' in options("defaultPackages") was not found
最近几天我一直在谷歌搜索,但我没有可能的解决方案......
非常感谢!
西维
【问题讨论】:
-
我在使用 R 时遇到了类似的问题,但在不同的容器类型上。我怀疑您的 docker 映像中可能不存在“which”命令。对于 zsh,这是一个内置的,而其他 shell 期望它位于 /usr/bin 中。或者,它可能具有“which”,但找不到它期望的其他系统工具。到目前为止,我还无法弄清楚 R 在加载库时可以看到哪些系统工具,或者 utils 期望在系统上找到什么。
标签: python r docker conda rpy2