rpy2 的构建轮失败

Failed building wheel for rpy2

我是 运行 Python v2.7.8R v3.0.2 (2013-09-25) -- "Frisbee Sailing" 我的初级 OS Freya 64 位(基于 Ubuntu 14.04)。

我正在尝试安装 rpy2 软件包:

pip install rpy2

失败并显示错误:

Failed building wheel for rpy2

下面我也看到了:

error: command 'gcc' failed with exit status 1

完整输出为here

我已经试过了:

sudo apt-get install python-dev libevent-dev python3-dev

但错误依旧。

我知道 pip 有效,因为我已经安装了 numpymatplotlibscipy 和其他使用它的软件包。

在完整输出中显示。

这与 R 的编译方式有关and/or 安装。 Rpy2 期待 header 找不到:

   ./rpy/rinterface/r_utils.c:32:31: fatal error: R_ext/Rallocators.h: No existe el archivo o el directorio
 #include <R_ext/Rallocators.h>

this post中找到了答案。我只需要将 R 从 v3.0.2 升级到适用于我的系统的最新版本 (v3.2.1)。

第 1 步:卸载以前的 R-base 安装

sudo apt-get remove r-base-core

第 2 步:更新 Sources.List 文件

  1. 编辑 sources.list 文件

    sudo gedit /etc/apt/sources.list
    
  2. 添加以下条目(for Ubuntu 14.04):

    deb http://cran.rstudio.com/bin/linux/ubuntu trusty/
    

第 3 步:添加 Public 键

gpg --keyserver keyserver.ubuntu.com --recv-key E084DAB9
gpg -a --export E084DAB9 | sudo apt-key add -

第 4 步:安装 R-base

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install r-base

第五步:安装rpy2

pip install rpy2

这个解决方案对我有用,因为它实际上是一个 header 问题:https://whosebug.com/a/23085474/7049567

sudo apt-get install libreadline-dev 

或者

yum install readline-devel

apt-get 安装-y python3-rpy2