服务器不自带R,只能想办法自己安装
已知两个思路,1 自己安装R; 2 利用conda配置R
1 自己安装R 尝试:
a 直接用命令安装R,成功安装了R4.1.2, VScode的R插件能识别
b 自己下载或者wget R-base安装包,然后放到服务器开始安装
两个都尝试了,但是发现可能还需要编译 或者指定R path,把自己弄得比较晕
之前一直用conda管理python环境,相对比较熟悉;conda环境也比较独立,考虑使用conda
2.在 医学AI交流群里问了一下,有大佬给出链接:
在服务器上运行R · 语雀
按照上述链接用conda配置R的环境
中间有一些要不要用conda镜像的细节,自己用的时候还是加上了 --channel
mamba自己之前没用过,开始重新安装,还是pip安装最快。
。。。
安装好带r-base的环境之后,出现一个明显的warning:
During startup - Warning messages:
1: Setting LC_TIME failed, using "C"
2: Setting LC_MESSAGES failed, using "C"
3: Setting LC_MONETARY failed, using "C"
4: Setting LC_PAPER failed, using "C"
5: Setting LC_MEASUREMENT failed, using "C"
参考几个类似的博客,在bashrc里面加上了两行代码,已解决
安装seurat之前尝试安装了几个包,
install.packages('remotes')
install.packages('BiocManager')
install.packages("ggplot2")
发现ggplot2这种安装需要有依赖的包没办法安装,类似的还有tidyverse
自己尝试了发现
conda install -c conda-forge r-tidyverse
利用conda能完成安装。
后续找到一篇博客,碰到和我基本一样的问题,后续基本就是抄他的作业:
在linux系统、conda环境下配置R软件及R包(内含fatal error: glpk.h: No such file or directory不完全解决办法:(_glpk.h:no such file or directory-CSDN博客
conda install -c r r-Seurat
之后因为网络波动等了很久,但是能正常安装(后续觉得还是最好指定版本,目前正在指定版本重新安装)
碰到的问题基本一致,
Error: package or namespace load failed for ‘Seurat’ in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]):
namespace ‘htmltools’ 0.5.6.1 is already loaded, but >= 0.5.7 is required
尝试去手动删除旧版htmltools,后面直接用conda重新安装htmltools了
然后多碰到一个类似的报错:
namespace ‘spatstat.utils’ 3.0-3 is already loaded, but >= 3.0.5 is required
似乎都是旧的包没有删除干净的问题
也是用conda 重新安装解决了
最后:
> library(Seurat)
Attaching SeuratObject
Seurat v4 was just loaded with SeuratObject v5; disabling v5 assays and
validation routines, and ensuring assays work in strict v3/v4
compatibility mode
查看了包的版本,确实:
Seurat SeuratObject
"4.4.0" "5.0.0"
决定指定版本重新安装