有没有一种在SageMaker中安装R库,可以接收到非零退出状态的方法?

0

【以下的问题经过翻译处理】 我遇到了一个R kernel/Jupyter笔记本的问题。我遇到了两个不同的库出现以下错误消息:

Warning message in install.packages("XML", repos = "https://cran.r-project.org"):
“installation of package ‘XML’ had non-zero exit status”Updating HTML index of packages in '.Library'
Making 'packages.html' ... done

XML是我使用时遇到此问题的第二个软件包。另一个软件包是rJava。

我找到了一个解决方法,假如我有根访问权限,可以通过终端中的命令行进行安装。这涉及命令如下:

yum install r-cran-rjava

然而,我没有根访问权限,无法安装,因为我收到了“你需要是根用户才能执行此命令”的消息。因此,这个解决方法不可行。

在检查rJava和XML的文档后,我正在SageMaker中运行JDK和其他系统需求。在本地的RStudio环境中,这个问题是无法复现的。XML是多个R库的依赖项(rJava也是)。有没有办法仍然可以安装这些软件包?

profile picture
专家
已提问 9 个月前12 查看次数
1 回答
0

【以下的回答经过翻译处理】 对于Amazon SageMaker笔记本实例,您可以扮演超级用户(即root)并拥有根权限,因此不需要使用以下命令:

$ yum install r-cran-rjava

您可以尝试使用以下命令:

$ sudo yum install r-cran-rjava

这将允许您模拟超级用户(即root)执行该命令[1]。

但是,我认为该软件包在可用的资源库中不存在(例如,可能适用于另一种Linux发行版,但似乎在yum资源库中不可用--运行yum search 'r-cran-rjava'未返回任何结果[2])。

因此,您需要从提示符处安装R和后续安装R软件包所需的开发文件:

$ sudo yum install -y R-java-devel.x86_64

最后,安装必要的XML库以支持R中的XML软件包:

$ sudo yum install -y libxml2-devel [3]

完成后,您可以打开R(作为超级用户或个人/本地用户)并执行软件包安装:

> install.packages("XML", repos = "https://cran.r-project.org")

编辑以修复RJava包安装

似乎安装需要libgomp.spec/libgomp.a文件,您可以首先查找该文件:

$ sudo find / -iname libgomp.spec

该文件应位于**/usr/lib/gcc/x86_64-amazon-linux/4.8.5/libgomp.spec**,如果是这样,您可以手动创建符号链接来解决这个问题:

$ sudo ln -s /usr/lib/gcc/x86_64-amazon-linux/4.8.5/libgomp.spec /usr/lib64/
$ sudo ln -s /usr/lib/gcc/x86_64-amazon-linux/4.8.5/libgomp.a /usr/lib64/

如果成功运行,您现在应该在/usr/lib64路径下看到这两个文件:

$ ls /usr/lib64/libgomp*

一旦确认,您可以运行 install.package('rJava') 命令

profile picture
专家
已回答 9 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则