从conda安装 R package到计算节点

忙碌了一天的 小谢,终于可以缓口气了。
HPC上安装各种包,总是会遇到各种莫名其妙的问题。
但是没有那个包,有没法进行后面的工作。
就很无奈。

运算节点无法联网。
所以用conda。
在HPC登录节点,创建一个conda 环境 R431 指定对应的R版本,

conda create -n r431 r-base=4.3.1
# 激活环境
conda activate r431
# 验证 R 版本
R --version

找到 FAT 节点上 Rstudio 的 library 路径

# 登录 FAT 节点
ssh fat
# 启动 R
R
# 执行
.libPaths()
#输出结果
[1] "/share/home/xiejinghe/R/x86_64-pc-linux-gnu-library/4.3"      
记下这个路径。    

在 conda 环境里安装想要的 R 包,并指定 library 路径

# 回到 login 节点,确保 conda 环境激活
exit # 回到 login 节点
conda activate r431
# 安装 R 包,用 --lib 指定 FAT 节点上的 R library 路径
R --vanilla -e 'install.packages("package", lib="/share/home/xiejinghe/R/x86_64-pc-linux-gnu-library/4.3")'
# 或者一次安装多个
R --vanilla -e 'install.packages(c("package1", "package2", "package3"), lib="/share/home/xiejinghe/R/x86_64-pc-linux-gnu-library/4.3")'

以为万事大吉了。
想得美。
要是这么简单,我也就没必要写这个笔记了。

总有一些依赖包,觉得自己很特别呢~~
就是无论如何都无法安装好。
要么 包的版本高了,装不上。
要么 R的版本高了,装不上。
这次是因为matrix的版本和R的对不上。昂
只能服气。

离线下载,手动安装。
失败了。
因为又却缺少了别的依赖包。
要是一直离线-手动安装,那就反反复复无穷尽了。

所以,果断换方法。
直接用conda 安装

conda install -c conda-forge r-harmony

直接安装好了。

但是在Rstudio里面找不到呀。
因为安装好的package在conda里面。
但是我的 Rstudio的包一般默认安装在/share/home/xiejinghe/R/x86_64-pc-linux-gnu-library/4.3

那咋办?
直接把conda的安装的目录,加到 Rstudio的默认目录里面。

#在登录节点的终端,激活您的 R431 环境:
conda activate R431
执行下面的命令,找到conda环境的R库路径:
R -e ".libPaths()"
记下输出的第一个路径:/share/home/xiejinghe/miniconda3/envs/R431/lib/R/library。

在RStudio中设置新路径
打开 RStudio,在控制台里运行这两行代码:

# 将您记下的新路径添加到R的搜索路径中,并放在最前面
.libPaths(c("您刚才记下的新路径", .libPaths()))
# 打印出来确认一下,新路径应该在最前面
.libPaths()

验证并永久保存
这时再运行 library(harmony),应该就能成功加载了。
在RStudio的菜单栏点击 Tools -> Global Options
在打开的窗口里找到 .Renviron 或通过 usethis::edit_r_environ() 命令打开配置文件,
添加下面这一行(记得把路径换成自己的):

R_LIBS_USER=/share/home/xiejinghe/miniconda3/envs/R431/lib/R/library

保存后,每次重启RStudio,这个设置都会自动生效。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容