纯小白 远程Linux服务器无root权限,安装conda以及jupyter的R语言环境(一条龙;纯小白使用)

解决了2天,坑点满满,哭死😭

!!重要前置bash shell

下面教程的所有命令都是在进入bash shell后,再按照步骤执行!

  1. 没有进入bash shell,命令行左边是$符号,此情况就要进入bash shell
    image
  2. bash 就进bash shell了
    image

参考:执行 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安装包

有两种下载方法:

  1. 命令行下载wget -p 指定目录 下载地址,以我的为例:
    下载Anaconda3-2024.02-1-Linux-x86_64.sh到用户的根目录
wget https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-x86_64.sh

  1. 在本机下载需要的anaconda版本,下载成功后,利用Xftp等软件上传到服务器即可。

安装Anaconda

  1. 进入刚刚下载的Anaconda3-XXXXX-Linux-x86_64.sh所在目录,使用bash命令进行安装。 以我的为例
# 因为我下载到了根目录,所以直接bash安装
bash Anaconda3-2024.02-1-Linux-x86_64.sh
  1. 会出现一堆协议,一路回车直到: 是否接受协议? 输入:yes

  2. 然后会问安装目录:选择默认目录则直接回车,若自定义目录则输入路径。

  3. 是否初始化?yes (后面可以省去conda命令不生效,修改bashrc的步骤)

  4. 是否安装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虚拟环境

  1. 创建名字为renv的conda虚拟环境(名字随意起)
conda create -n renv   # 创建环境(renv是环境的名称,随意修改)
  1. 提示中出现下文。environment location表明了环境的存储位置。按y同意即可。
## Package Plan ##

  environment location: XXXXXXX/anaconda3/envs/Renv

Proceed ([y]/n)? y
  1. 激活刚刚创建的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语言

前置条件:

  1. 已经安装jupyter,没有可以参考教程:在linux服务器(ubuntu)上搭建一个在线的jupyter notebook
  2. 已经创建有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包。

  1. 首先尝试使用R命令行安装(大概率安装失败)
    打开R控制台,安装devtools包,在命令行输入以下命令:
    # 1.打开R控制台:在命令行输入R即可
    R
    # 2使用R安装devtools:在命令行输入install.packages('devtools')即可
    install.packages('devtools')
    
  2. 大概率会安装失败
# 首先退出刚进入的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)
  1. 使用devtools包从GitHub安装IRkernel,这是R的Jupyter内核。运行以下命令:

    devtools::install_github('IRkernel/IRkernel')
    
  2. 接下来,您需要在R中注册内核,这样Jupyter才能识别它。运行以下命令:

    IRkernel::installspec(user = FALSE)
    

    备注:权限不够把FALSE改为TURE,表示为当前用户安装。

  3. 现在,当您打开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 等等相似问题一样的解决方案:

  1. 删除rlang包,与刚才安装的dplyr包。
remove.package(“rlang”)
remove.package(“dplyr”)
  1. 然后重新
install.packages(“dplyr”)

当然也可以使用前文安装的devtools安装指定版本的R包。

  1. 导入包
library(“devtools”)
  1. 然后我们使用可以安装指定版本的函数,比如安装A包的话。
install_version(“A”,version=“0.4.10”)
posted @ 2024-04-12 22:58  kingwzun  阅读(360)  评论(0编辑  收藏  举报