前言
Python编程灵活方便,R的模型方法众多,如何将两者结合起来,发挥更大的作用,值得探索。
Python中可以直接调用R,利用R中的函数对数据进行处理。Rpy2提供了一个从Python到R的底层接口,使得Python可以很直接调用R中的包和函数进行数据分析。
以下将从window和linux两种不同的操作系统入手,简述rpy2的安装方法。
目录
- 1.win环境rpy2安装
- 2.linux环境rpy2安装
1. win环境下rpy2安装
- 1、首先要安装R和Python
配置好R软件的环境,修改环境变量,在系统变量和用户变量中添加或修改:(以我的电脑中R的安装路径为例)
Path:添加R.dll的路径 如:C:\Program Files\R\R-3.2.0\bin\i386
R_HOME:R的安装路径 如:C:\Program Files\R\R-3.2.0\bin
R_USER:R的使用路径 如:C:\Program Files\R\R-3.2.0\bin\x64
【 安装须知:
如果没有指定环境变量R_USER会报错(如果发现系统中没有R_USER需要新建)
R_USER (后测试发现给这个变量随意指定路径就ok) C:\Program Files\R\R-3.2.0\bin\x64
使用R Shell操作界面查看username,命令为: Sys.info()
最后,添加环境变量R_USER后OK
】
配置好Python软件的环境,修改环境变量,在系统变量和用户变量中添加或修改:(以我的电脑中Python的安装路径为例)
需要添加如下环境变量路径:
C:\Program Files\Anaconda3
C:\Program Files\Anaconda3\Scripts
C:\Program Files\Anaconda3\Library\bin
C:\Program Files\Anaconda3\Lib\site-packages\rpy2
- 2、下载Python非官方Rpy2安装包(下载的是.whl文件,我的电脑是windows64bit 的,所以我下载了rpy2‑2.8.5‑cp36‑cp36m‑win_amd64.whl)
- 3、使用pip安装下载的.whl文件
- 下载get-pip.py,使用以下命令安装pip:(关于pip可以参考文档:Installation -- pip 6.1.1 documentation)
1. cmd 进入python shell操作界面
2. Python> get-pip.py 【运行get-pip.py脚本】
- 使用安装好的pip来安装.whl文件(关于这一步可以参考文档:安装下载的 .whl 文件)
1. cd path(rpy2‑2.8.5‑cp36‑cp36m‑win_amd64.whl) 【进入rpy2‑2.8.5‑cp36‑cp36m‑win_amd64.whl文件所在的路径】
2. pip install rpy2‑2.8.5‑cp36‑cp36m‑win_amd64.whl 【pip install 方法安装】
- 4、在python运行环境中测试是否安装成功,引入rpy2包:
>>>
>>> import rpy2
>>>
2. linux环境下rpy2安装
- 1.linux下R语言安装注意事项:
- a) R编译的过程中,必须选择--enable-R-shlib 选项,将R编译成lib模式,在此模式下,会生成path-to-R/lib/libR.so库;同时,需要确保同目录下libRblas.so、libRlapack.so两个链接库也被正确生成,这两个库默认会生成,如果没有,需要添加参数:--enable-BLAS-shlib --with-blas --with-lapack 。如果不编译生成libR.so,rpy2就无法正确编译。
- b) R安装完成之后,如果安装到个人路径下,需要添加四个环境变量到配置文件中:
export R_HOME=path-to-R
export R_LIBS=$R_HOME/lib64/R/library
export LD_LIBRARY_PATH=$R_HOME/lib:$LD_LIBRARY_PATH
export PATH=$R_HOME/bin:$PATH
其中比较容易漏掉的是PATH和LD_LIBRARY_PATH,如果是用root安装,可能会没有问题,如果安装到个人目录下,不添加这两个变量的话,就无法正确寻找需要的动态链接库;R_LIBS的作用是rpy2中调用安装的R包时,根据该变量寻找对应的包;
- 2.linux下python语言安装注意事项:
python编译安装之前,必须要先安装sqlite-devel,否则会报找不到_sqlite模块的错误信息,如果是已经安装好的python,则需要安装sqlite-devel库之后,重新安装python;
- 3.确保以上三点没有问题之后,rpy2安装就比较简单了,直接使用:
>>>
>>> pip install rpy2
>>>
最引入rpy2包,如果不报错,则安装成功。
>>>
>>> import rpy2
>>>
- 4.安装完成后,想要从python中使用R函数和方法,设置各自的环境变量非常重要,以下为我的机器linux下的环境变量设置。(vim .bash_profile)
# User specific environment and startup programs
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/opt/node/v0.10.28/bin:/opt/node/v0.10.28/lib/node_modules:/usr/local/python34/bin
export R_HOME=/usr/local/lib64/R
export R_LIBS=/usr/local/lib64/R/library
export LD_LIBRARY_PATH=$R_HOME/lib:$LD_LIBRARY_PATH
export PATH=$HOME/bin:$R_HOME/bin:$PATH