获取分段错误从rpy2导入robject时出现核心转储错误

时间:2016-09-06 11:18:30

标签: python r rpy2

手动安装R和rpy2

安装成功但出现上述错误。请帮帮我?

输出一些有用的命令:

>>> import rpy2
>>> rpy2.__path__
['/home/ashish/miniconda2/lib/python2.7/site-packages/rpy2-2.8.2-py2.7-linux-x86_64.egg/rpy2']
>>> import rpy2.robjects
cannot find system Renviron
/home/ashish/miniconda2/lib/python2.7/site-packages/rpy2-2.8.2-py2.7-linux- x86_64.egg/rpy2/rinterface/__init__.py:185: RRuntimeWarning: Fatal error: unable to open the base package


warnings.warn(x, RRuntimeWarning)
Segmentation fault (core dumped)

提前致谢..

1 个答案:

答案 0 :(得分:6)

如果您通过conda安装rpy2,并且在同一台计算机上(例如RStudio)具有R的系统安装,则将使用系统的R安装。由于此R版本与rpy2所需的版本不匹配,因此会发生分段错误。

1)删除R(see here)的所有现有系统安装。确认您没有任何R的安装:

$>which R
R not found

2)在您的.rc文件中定义R_HOME env变量:

export R_HOME=/Users/<your user>/anaconda3/envs/<env name>/lib/R

或在python项目中动态进行:

import os
os.environ['R_HOME'] = '/Users/<your user>/anaconda3/envs/<env name>/lib/R'