Ubuntu 14.04 下安装 rpy2-2.7.8

一、什么是rpy2

rpy2是python中的R语言接口模块, 可以通过rpy2, 在python中调用R

二、安装环境

一开始我是准备在自己的win10上安装,但是一直都不能安装成功,找了网上的一些文档进行修改环境变量都无果,最后,索性在虚拟机上安装rpy2

1.Ubuntu 14.04lts

2.Canopy

3.R-3.2.3

三、安装过程

我的安装过程很曲折,试了很多种方法,最后终于成功了
首先下载去官网下载rpy2-2.7.8.tar.gz
然后运行下面代码

tar -xzvf rpy2-2.7.8.tar.gz
cd rpy2-2.7.8
python setup.py install

但是执行第三条命令可能会报错,表示缺少模块,这时你需要安装setuptools了,详细可参照链接中的博客
[(http://blog.chinaunix.net/uid-26000296-id-4769414.html)]
安装好setuptools后,重新输入

python setup.py install

完成后,打开canopy,测试是否安装成功,此处对于我存在的一个大问题是canopy的python库没有包含Ubuntu自带的python中的库,这时有两种选择:
第一种 在Ubuntu将自带python库中的rpy2复制到canopy的库里面
第二种 将系统自带的库添加至canopy运行环境中,命令如下

>>> import sys
>>> sys.path.append('你的另外一个库')

不过这种方法只是暂时的,你下次重启如果要用到还是要继续添加库。
本以为到这里便安装完成了,但事实并非如此
当我运行下面代码时报错了“undefined symbol: PyUnicodeUCS4_AsUTF8String”

import rpy2.robjects as obj

经过网上找资料发现是因为我在canopy中用的rpy2是另外一个版本的python装的,造成错误,原因是python和某个你用的库编译时指定的UCS编码方式不对.详见(http://blog.csdn.net/taolinke/article/details/50472451)
这时该怎么办呢,上面链接中给出两种解决方案,我是采用重新编译python的方法进行的,也就是重新安装python, 因为我找不到自己python的源安装包,所以我直接去网上下了Python-2.7.11.tar.xz
其中tar.xz的解压方式为tar -xvJf,然后运行下面代码

tar -xvJf Python-2.7.11.tar.xz
cd Python-2.7.11
./configure --enable-unicode=ucs2   #选择是ucs2还是usc4取决于报错类型,如果像我这样undefined                  #symbol: PyUnicodeUCS4_AsUTF8String ,就应该选择ucs2
make
make install

这样安装完成后,你就需要把之前装的rpy2给删除掉,重新按照上述步骤进行安装,然后再去canopy在进行测试,你可以这样测试

>>> import rpy2.robjects  as object
>>> object.r("library('base')") 

此时如果出现图中情况,则恭喜你,rpy2安装完成了!!
这里写图片描述

©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值