纯小白 远程Linux服务器无root权限,安装conda以及jupyter的R语言环境(一条龙;纯小白使用)
解决了2天,坑点满满,哭死😭
!!重要前置bash shell
下面教程的所有命令都是在进入bash shell后,再按照步骤执行!
- 没有进入bash shell,命令行左边是$符号,此情况就要进入bash shell
- 敲
bash
就进bash shell了
参考:执行 source ~/.bashrc 报错:source not found 的解决方案
1.Linux命令行安装anaconda
点击查看 参考(如果我的方法不行,可以看他们的):
https://zhuanlan.zhihu.com/p/583438593
2.linux服务器非root用户安装Anaconda,并配置tensorflow/pytorch
3.在linux服务器(ubuntu)上搭建一个在线的jupyter notebook
下载anaconda3的.sh安装包
首先在 https://repo.anaconda.com/archive/ 选择需要的anaconda版本。
一定要是linux 且 .sh安装包
有两种下载方法:
- 命令行下载
wget -p 指定目录 下载地址
,以我的为例:
下载Anaconda3-2024.02-1-Linux-x86_64.sh到用户的根目录
wget https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-x86_64.sh
- 在本机下载需要的anaconda版本,下载成功后,利用Xftp等软件上传到服务器即可。
安装Anaconda
- 进入刚刚下载的Anaconda3-XXXXX-Linux-x86_64.sh所在目录,使用bash命令进行安装。 以我的为例
# 因为我下载到了根目录,所以直接bash安装
bash Anaconda3-2024.02-1-Linux-x86_64.sh
-
会出现一堆协议,一路回车直到: 是否接受协议? 输入:
yes
-
然后会问安装目录:选择默认目录则直接回车,若自定义目录则输入路径。
-
是否初始化?yes (后面可以省去conda命令不生效,修改bashrc的步骤)
-
是否安装VScode?no
至此Anaconda安装完成,可以使用conda list等命令验证。
配置环境变量
这一步不一定使用哈。如果安装后,输入conda -V查不到信息,显示conda: command not found,这是因为anaconda路径没有被识别,输入source ~/.bashrc试试。到此已经安装好Anaconda了。
如果执行 source ~/.bashrc 报错:source not found ,请看本文第一章!!重要前置bash shell
2.使用conda安装R语言环境以及R包(非root用户也可以)
附:老手精简版
此版本为熟悉Linux命令后使用,否则请按照下面的步骤进行,防止懵懵懂懂。
# 创建环境(renv是环境的名称,随意修改)
conda create -n renv
# 激活环境
conda activate renv
# 以安装R 4.1.4 版本为例,安装其他版本更换`4.1.4`即可
conda install -c conda-forge r-base=4.1.4
# 退出环境
conda deactivate
2.1创建conda虚拟环境
- 创建名字为renv的conda虚拟环境(名字随意起)
conda create -n renv # 创建环境(renv是环境的名称,随意修改)
- 提示中出现下文。environment location表明了环境的存储位置。按y同意即可。
## Package Plan ##
environment location: XXXXXXX/anaconda3/envs/Renv
Proceed ([y]/n)? y
- 激活刚刚创建的conda环境
conda activate renv # 激活环境
此时前缀更改为(renv),即表示成功,参考如下
#>(base) [test@VM-0-7-centos etc]$ conda activate Renv #>(renv) [test@VM-0-7-centos etc]$
附: 退出环境命令conda deactivate
2.2安装R语言
以安装R 4.1.4 版本为例,安装其他版本更换4.1.4
即可
过程中会询问是否同意安装,按y同意即可。
conda install -c conda-forge r-base=4.1.4
安装成功后,就可以在命令行输入R,进去R环境。参考如下
1.进入R环境 #>(renv) [test@VM-0-7-centos etc]$ R #> 2.看一下library的位置。 #> .libPaths() #>[1] "/XXXXXX/anaconda3/envs/renv/lib/R/library" 3.退出R环境 #> quit() #>(renv) [test@VM-0-7-centos etc]$
2.3 安装R包教程
2.3.1使用R安装R包
有些包使用R安装不了,会报错,这时候再使用conda安装。使用R安装教程如下
# 假设安装reticulate包
install.packages("reticulate")
# 假设安装Seurat包
install.packages('Seurat')
2.3.2使用conda安装R包
有些包使用R安装不了,会报错,这时候可以使用conda安装,教程如下:
# 假设安装glmnet包
conda install -c conda-forge r-glmnet
# 假设安装IRkernel包
conda install -c conda-forge r-IRkernel
参考:
Linux 中conda 安R
3.在jupyter上使用R语言
前置条件:
- 已经安装jupyter,没有可以参考教程:在linux服务器(ubuntu)上搭建一个在线的jupyter notebook
- 已经创建有R的环境并激活环境。如果没有按照上面的步骤安装。
附: 老手精简版
# conda安装 IRkernel 包
conda install -c conda-forge r-irkernel
# 在R中注册内核
IRkernel::installspec(user = FALSE)
# 备注:权限不够把FALSE改为TURE,表示为当前用户安装
# 备注:启动jupyter后才能切换到R语言
Linux使用conda在jupyter上使用R语言步骤:
小白教程
解释:devtools包可以让您从GitHub安装R包。
- 首先尝试使用R命令行安装(大概率安装失败)
打开R控制台,安装devtools
包,在命令行输入以下命令:# 1.打开R控制台:在命令行输入R即可 R # 2使用R安装devtools:在命令行输入install.packages('devtools')即可 install.packages('devtools')
- 大概率会安装失败
-
- 如果有root权限,可以参考下面文章安装: https://zhuanlan.zhihu.com/p/583600465
-
- 如果没用root权限,使用conda安装(推荐)
# 首先退出刚进入的R控制台
quit()
# 使用conda安装
conda install r-devtools
备注: 当然也可以使用conda安装缺失的依赖包,然后再用R控制台重新安装devtools
# 首先退出刚进入的R控制台
quit()
# 通过conda安装缺失的依赖包(缺失啥,自己补)
conda install r-gert
conda install r-usethis
#然后再进入R
install.packages("devtools")
# 显示安装成功然后加载这个包
library(devtools)
-
使用
devtools
包从GitHub安装IRkernel
,这是R的Jupyter内核。运行以下命令:devtools::install_github('IRkernel/IRkernel')
-
接下来,您需要在R中注册内核,这样Jupyter才能识别它。运行以下命令:
IRkernel::installspec(user = FALSE)
备注:权限不够把FALSE改为TURE,表示为当前用户安装。
-
现在,当您打开Jupyter时,应该能够在内核选项中看到R 4.3.3内核。
附:解决R语言的依赖教程
安装Seurat
直接install.packages('Seurat')
安装会报错
Warning message in install.packages("Seurat", dependencies = T, source = T):
“installation of package ‘Cairo’ had non-zero exit status”
Warning message in install.packages("Seurat", dependencies = T, source = T):
“installation of package ‘igraph’ had non-zero exit status”
Warning message in install.packages("Seurat", dependencies = T, source = T):
“installation of package ‘SeuratObject’ had non-zero exit status”
Warning message in install.packages("Seurat", dependencies = T, source = T):
“installation of package ‘leiden’ had non-zero exit status”
Warning message in install.packages("Seurat", dependencies = T, source = T):
“installation of package ‘mutoss’ had non-zero exit status”
Warning message in install.packages("Seurat", dependencies = T, source = T):
“installation of package ‘qqconf’ had non-zero exit status”
Warning message in install.packages("Seurat", dependencies = T, source = T):
“installation of package ‘hdf5r’ had non-zero exit status”
Warning message in install.packages("Seurat", dependencies = T, source = T):
“installation of package ‘ggrastr’ had non-zero exit status”
Warning message in install.packages("Seurat", dependencies = T, source = T):
“installation of package ‘Seurat’ had non-zero exit status”
Warning message in install.packages("Seurat", dependencies = T, source = T):
“installation of package ‘Rfast’ had non-zero exit status”
Warning message in install.packages("Seurat", dependencies = T, source = T):
“installation of package ‘Rfast2’ had non-zero exit status”
Warning message in install.packages("Seurat", dependencies = T, source = T):
“installation of package ‘metap’ had non-zero exit status”
Updating HTML index of packages in '.Library'
Making 'packages.html' ...
done
简而言之意思就是需要提前安装Cairo
等东西
解决办法:
打开自己的conda环境,输入如下命令(或许直接输入conda install r-seurat
即可)
# 安装Cairo
conda install -c r r-cairo
# 安装Rfast
conda install -c conda-forge r-rfast
# 解决hdf5r安装失败:先安装hdf5
conda install -c anaconda hdf5
#或许直接输入下面的代码即可
conda install r-seurat
然后还会报错
Error: package or namespace load failed for ‘Seurat’ in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]):
namespace ‘vctrs’ 0.4.1 is already loaded, but >= 0.4.2 is required
Traceback:
使用r语言更新vctrsinstall.packages('vctrs')
,然后重启环境即可。
其他包版本过低,一样的方式处理即可(再次提示重启环境
很重要)
-c 表示临时增加一个镜像, conda-forge 表示临时增加的镜像是官方默认网站conda-forge
附录
解决安装Rfast问题
https://hpc-discourse.usc.edu/t/error-installing-r-package-singlecellexperiment/633/5
解决conda环境中R包hdf5r编译失败的问题
https://www.jianshu.com/p/942c3d2780a2
linux使用conda 下载seurat包
https://zhuanlan.zhihu.com/p/584538710
安装dplyr报错之rlang’ 0.4.5,但需要的是>= 0.4.10
就是版本太低了。。。。
安装XXXX报错之XXXXX’ X.X.X,但需要的是>= X.X.XX
等等相似问题一样的解决方案:
- 删除rlang包,与刚才安装的dplyr包。
remove.package(“rlang”)
remove.package(“dplyr”)
- 然后重新
install.packages(“dplyr”)
当然也可以使用前文安装的devtools
安装指定版本的R包。
- 导入包
library(“devtools”)
- 然后我们使用可以安装指定版本的函数,比如安装A包的话。
install_version(“A”,version=“0.4.10”)