rpy2安装

1. windows

1.1通过anaconda 安装

(1)安装

打开Anaconda Prompt,直接安装。安装过程中conda会下载对应版本的R以及R包。

 conda install rpy2
(2)配置环境变量

安装完成后尝试引入模块,报错:
这里写图片描述
查看错误信息以及源代码,发现缺少环境变量R_HOME
添加环境变量:
这里写图片描述
不要在path中以新建环境变量的方式添加,而是新建单独的环境变量:
这里写图片描述

再次尝试引入模块,正常运行:
这里写图片描述

2. linux

2.1通过anaconda 安装

安装anaconda的过程略去,这里假设anaconda以及安装在用户的home目录下。

cd ~
conda install rpy2

Attention
使用conda安装rpy2时会另外安装一次R到anaconda的lib目录下,此时再通过当前用户调用R则是调用的anaconda的lib目录下安装的R,命令行的环境变量被改变了。如果需要用回系统中安装的R,则需要修改anaconda/bin目录下的R执行文件,文件部分内容大致如下。其实这基本上就是把系统中的这个/usr/bin/R文件中关于R_HOME的部分修改到了anaconda3/bin

cat ~/anaconda3/bin/R
#!/bin/sh
# Shell wrapper for R executable.

R_HOME_DIR=/home/test/anaconda3/lib/R
if test "${R_HOME_DIR}" = "/home/test/anaconda3/lib/R"; then
   case "linux-gnu" in
   linux*)
     run_arch=`uname -m`
     case "$run_arch" in
        x86_64|mips64|ppc64|powerpc64|sparc64|s390x)
          libnn=lib64
          libnn_fallback=lib
        ;;
        *)
          libnn=lib
          libnn_fallback=lib64
        ;;
     esac
     if [ -x "/home/test/anaconda3/${libnn}/R/bin/exec/R" ]; then
        R_HOME_DIR="/home/test/anaconda3/${libnn}/R"
     elif [ -x "/home/test/anaconda3/${libnn_fallback}/R/bin/exec/R" ]; then
        R_HOME_DIR="/home/test/anaconda3/${libnn_fallback}/R"
     ## else -- leave alone (might be a sub-arch)
     fi
     ;;
  esac
fi

if test -n "${R_HOME}" && \
   test "${R_HOME}" != "${R_HOME_DIR}"; then
  echo "WARNING: ignoring environment value of R_HOME"
fi
R_HOME="${R_HOME_DIR}"
export R_HOME
R_SHARE_DIR=/home/test/anaconda3/lib/R/share
export R_SHARE_DIR
R_INCLUDE_DIR=/home/test/anaconda3/lib/R/include
export R_INCLUDE_DIR
R_DOC_DIR=/home/test/anaconda3/lib/R/doc
export R_DOC_DIR

可以看到R_HOME_DIR等环境变量被修改为指向anaconda/bin,此时再使用命令行安装R包就只能通过conda采用类似conda install -c r r-dplyr的命令。如果使用sudo权限调用R安装R包或者通过RStudio-server,则是调用的系统环境中的R,用户环境中的R并不会改变。这样会造成在用户和系统环境下分别有两个环境的R。解决方式有两个:

  • 直接删除conda中的R环境conda uninstall r-base
  • 修改~/anacnoda3/bin/R中的环境变量

2.2通过pip安装到虚拟环境

对于上述情况,如果想要避免修改R的环境变量,直接使用pip安装就好。

pip3 install rpy2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值