我一直在尝试安装rpy2并从源代码安装R包....我首先使用conda通过binstar安装了rpy2。这似乎安装得很好,但是当我尝试从源代码编译我的R包时,我得到了以下错误。
所以我卸载了R并删除了rpy2 conda包。然后我重新安装了R,并尝试了
pip install rpy2
但是无法安装并产生以下错误:
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DR_INTERFACE_PTRS=1 -DHAVE_POSIX_SIGJMP=1 -DRIF_HAS_RSIGHAND=1 -DCSTACK_DEFNS=1 -DHAS_READLINE=1 -I./rpy/rinterface -I/usr/share/R/include -I/home/alex/anaconda/include/python2.7 -c ./rpy/rinterface/_rinterface.c -o build/temp.linux-x86_64-2.7/./rpy/rinterface/_rinterface.o
In file included from /usr/include/signal.h:28:0,
from ./rpy/rinterface/_rinterface.c:51:
/usr/include/features.h:374:25: fatal error: sys/cdefs.h: No such file or directory
# include <sys/cdefs.h>
^
compilation terminated.
error: command 'gcc' failed with exit status 1
我想我第一次安装的conda包遇到了类似的问题,但是只是试图从源代码编译R包才发现它?它抱怨同样的cdefs.h文件......
很高兴提供调试所需的更多详细信息
答案 0 :(得分:4)
我一直在为R和相关包构建conda包(包括rpy2
)。最终它们将处于默认的conda repos中,但在此之前,您可以使用conda install -c asmeurer rpy2
(这也将安装和使用我自己的R本身)。
答案 1 :(得分:1)
一个对我有用的简单解决方案就是sudo apt-get install python-rpy2
。它完美无缺(假设你已经安装了R)。这样你就不需要anaconda