Linux无root权限通过Anaconda虚拟环境安装R并在Jupyter Lab运行

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

安装Anaconda

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

wget https://repo.anaconda.com/archive/Anaconda3-2020.02-Linux-x86_64.sh
bash Anaconda3-2020.02-Linux-x86_64.sh

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

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

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

完成后,添加一些源:

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/pkgs/main
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
# 下面的是其他一些库,按需添加:
# conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
# conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/

# 如果不能使用,可以尝试中科大或北外的源,把里面的地址改为 https://mirrors.ustc.edu.cn/ 或 https://mirrors.bfsu.edu.cn 即可

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

安装R

创建虚拟环境并安装R

Conda创建虚拟环境并安装软件的命令为conda create -n env -c channel package-n接的是虚拟环境名字,-c接的是软件源channel名字(前面添加了r的源,安装时可忽略-c),package是软件包名字。

Conda的源中有r-base、r-irkernel、r-essentials等几个东西。r-base是R的软件包,更新比较快,目前已有最新的4.0.3版本。irkernel是Jupyter Lab中切换R虚拟环境需要用到的。r-essentials包含了irkernel和其他一些常用的软件包,不过版本更新频率慢,目前仍是3.6版本。

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

conda create -n ry r-essentials

如果安装最新版的R-4.0.3,并且能在Jupyter Lab中使用,可以:

conda create -n ry r-irkernel

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

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:

conda install -c intel tcl

在Jupyter Lab中使用R

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

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安装即可:

install.packages('pbdZMQ')

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


欢迎关注:

© 版权声明
THE END
喜欢就支持以下吧
点赞0
分享
评论 抢沙发