如何在Linux无root权限时优雅安装使用R:通过Anaconda虚拟环境安装并在Jupyter Lab运行

2021-09-22 12:12:22 浏览数 (1)

前言

一般情况下,最新版R的安装非常容易。但如果是在linux服务器上,而又恰好没有root权限,安装就比较麻烦了。最直接粗暴的方法是自己在有读写权限的个人目录中编译安装,但操作很繁琐,需要解决非常多依赖库,整个过程几乎会让人爆炸。还好,有一种简便很多的方法,通过Anaconda的虚拟环境安装。

安装Anaconda

如果没有安装Anaconda,需要先下载安装:

代码语言:javascript复制
wget https://repo.anaconda.com/archive/Anaconda3-2018.12-Linux-x86_64.sh
bash Anaconda3-.-Linux-x86_64.sh

根据提示输入enter或yes进行操作。Anaconda默认安装在/home//anaconda3路径,如果需要修改,只需要在PREFIX中填入自己的路径。

安装完成后,修改配置文件:

代码语言:javascript复制
# 根据自己情况打开bashrc或者.bash_profile文件
vi /etc/bashrc或vi ~/.bash_profile
# 加入:
export PATH=/home/<user>/anaconda3/bin:$PATH

完成后,添加一些源:

代码语言:javascript复制
conda config --set show_channel_urls yes

# 添加官方的源
conda config --add channels conda-forge 
conda config --add channels r

# 添加国内源(根据地区选择清华或中科大的)
# 北方地区推荐清华的源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/

# 南方地区推荐使用中科大的:
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/

# 添加后,可以查看目前的conda软件源,检查是否添加成功
conda info

安装R

创建一个叫ry的虚拟环境,并安装R和一些常用的软件包:

代码语言:javascript复制
conda create -n ry -c r r-essentials

创建成功后,激活虚拟环境,进入R:

代码语言:javascript复制
source activate ry

此时就可以输入命令R,打开R。

如果要退出虚拟环境,则输入:

conda deactivate(推荐) 或 source deactivate

常见问题

如果运行失败,提示缺少某个库,则需要通过conda install安装对应的库。比如提示缺libbz2.so,需要通过命令conda install --override-channels -c conda-forge bzip2安装bzip2。

如果在R中不能使用install.packages()功能,则要在虚拟环境中安装tcl:

代码语言:javascript复制
conda install -c intel tcl

在Jupyter Lab中使用R

无论有没有进入虚拟环境,Jupyter Lab加载的是默认的环境和kernel。要切换不同的虚拟环境和kernel,需要安装nb_conda_kernels(无需进入虚拟环境):

代码语言:javascript复制
conda install -c conda-forge nb_conda_kernels 

安装完成后,不需要在shell中进入虚拟环境,直接输入jupyter lab命令打开Jupyter Lab,就能在jupyter lab切换虚拟环境和内核,选择R就可以使用。

如果Jupyter lab加载R失败,需要返回shell中查看报错信息,安装缺失的东西。

比如,本人在加载R时,shell会报错Error: package ‘pbdZMQ’ was installed by an R version with different internals; it needs to be reinstalled for use with this R version,表明要重新安装pbdZMQ这一个R包。操作很简单,激活虚拟环境打开R后,使用install.packages安装即可:

代码语言:javascript复制
install.packages('pbdZMQ')

解决完后,再次打开Jupyter Lab,就能成功加载R。

文章同步发布在www.bioinfo.cc,点击阅读原文即可查看

0 人点赞