zoukankan      html  css  js  c++  java
  • [JupyterLab集成 R 环境]-解决 x11 服务连接失败问题

    JupyterLab 集成 R 语言

        JupyterLab作为一个交互式的Python开发环境,同时具备强大的可扩展能力,支持包括 Java、R 等其他语言进行交互式开发的能力,确实称的上是一代神器。
        最近因为公司业务需要,所以花了几天时间调研了一下关于 JupyterLab 中集成 R 内核的方案,中间碰到了一个比较恶心的问题,就是在 centos 服务器上无图形化界面时 X11 服务连接不上的问题。
    

    查询了许多的相关资料,只能说网上相关的文档写的都挺乱的,所以才写了这篇文章,希望能给各位有需要的朋友一些帮助。
    我用的服务器是 Centos7,直接安装的 Anaconda 环境,安装 R 环境之前需要做的前缀操作就是要配置对应的 Anaconda 环境变量,然后按照如下步骤走安装即可。

    安装 R 语言环境

       #### 安装对应 Linux 依赖
    
    yum install -y gcc
    yum install -y gcc-gfortran
    yum install -y gcc-c++
    yum install -y glibc-headers
    yum install -y libreadline6-dev gfortran 
    yum install -y readline-devel
    yum install -y wget libXt-devel
    yum install -y fonts-chinese tcl tcl-devel tclx tk tk-devel
    yum install -y mesa-libGLU mesa-libGLU-devel
    yum install -y bzip2-devel 
    yum install -y xz-devel.x86_64 
    yum install -y pcre-devel
    yum install -y libcurl
    yum install -y libcurl-devel
    yum install -y texinfo.x86_64
    yum install -y texlive-pdftex-doc.noarch
    yum install -y texlive
    yum install -y xorg-x11-server-Xvfb
    yum install -y xorg-x11-fonts-75dpi
    yum install -y xorg-x11-fonts-100dpi
    yum install -y libXtst-devel
    yum install -y libssh2-devel
    yum install -y libgit2-devel
    yum install -y mysql-devel
    yum install -y xz-devel
    yum install -y xml2
    yum install -y libxml2-devel
    yum install -y git
    yum install -y xorg-x11-fonts-*.noarch
    yum install -y cairo* libxt*
    yum install -y cairo-devel.i686
    

    下载二进制源码包

    wget https://mirrors.tuna.tsinghua.edu.cn/CRAN/src/base/R-3/R-3.6.3.tar.gz
    

    解压编译安装

    # 解压到指定目录,自行指定目录
    tar -zxf R-3.6.3.tar.gz -C /opt/R-src/R-3.6.3
    # 解压完成后切到对应的源码目录下
    cd /opt/R-src
    # 编译生成 Makefile 文件
    ./configure --enable-R-shlib --with-tcltk --with-x --with-libpng --with-jpeglib --with-libtiff  --with-pic --prefix=/opt/R
    # 编译安装
    make && make install
    # 配置环境变量
    vi /etc/profile
    export R_HOME=/opt/R
    export PATH=$PATH:$R_HOME/bin
    source /etc/profile
    

    安装 R 依赖及解决环境问题

    安装 R 依赖和内核

    # 命令行输入 R 进入 R 终端界面
    R 
    # 安装 R 依赖
    install.packages(c('repr', 'IRdisplay', 'evaluate', 'crayon', 'pbdZMQ', 'devtools', 'uuid', 'digest','png','jpeg'))
    # 在上述安装过程中,如果出现 xml2 之类的依赖找不到的情况下,且上述 yum 安装的依赖确认已经按照,则 echo $PATH,看环境变量中是否存在 anaconda 的配置,先临时去掉anaconda 的环境变量,等 R 依赖安装完成后再恢复
    # 安装 R 内核
    devtools::install_github('IRkernel/IRkernel')
    # 生成 R 内核信息,括号内 user = FALSE 表示不限定用户,默认可不带
    IRkernel::installspec(user = FALSE)
    

    解决无图形化界面Centos 服务器 X11 服务连接不上问题

    # 启动一个虚拟屏幕进程
    /usr/bin/Xvfb -ac :99 -screen 0 1024x768x16 &
    # 设置环境变量
    vi /etc/profile
    export DISPLAY=:99
    source /etc/profile
    

    再次进入 R 环境,输入capabilities()确认 X11 为 TRUE

    capabilities()
    

    有疑问可关注公众号“沧海求道”,不定期回复

  • 相关阅读:
    从零开始学android开发-通过WebService获取今日天气情况
    android常见错误-E/AndroidRuntime(13678): java.lang.NoClassDefFoundError:
    java 使用相对路径读取文件
    冒泡排序
    快速排序
    为什么使用抽象类?有什么好处?
    为什么用 抽象类,接口
    String.valueOf()
    Python 资源
    文本相似度-BM25算法
  • 原文地址:https://www.cnblogs.com/lxc-2017/p/14291672.html
Copyright © 2011-2022 走看看