通过rpy2在python中导入ggplot时出现分段错误

时间:2017-02-21 12:30:29

标签: python r rcpp rpy2

我在python中运行以下命令:

from rpy2.robjects.packages import importr
importr( 'ggplot2' )

这在python-2.7.6和rpy2-2.8.3中工作正常。但是,在python-2.7.8和rpy2-2.8.5上运行时会出现以下错误:

/usr/local/lib/python2.7/dist-packages/rpy2/rinterface/__init__.py:186: RRuntimeWarning: Error in dyn.load(file, DLLpath = DLLpath, ...) : 
unable to load shared object '/usr/local/lib/R/site-library/Rcpp/libs/Rcpp.so':
/usr/local/lib/R/site-library/Rcpp/libs/Rcpp.so: undefined symbol: R_ClassSymbol
warnings.warn(x, RRuntimeWarning)
Segmentation fault (core dumped)

1 个答案:

答案 0 :(得分:0)

  1. rpy2是一个在使用python时提供对R的访问的包。因此,首先确保在编译R时启用了R-shared库,如下所示: ./ configure --prefix = * --with-x = no --enable-R-shlib = yes
  2. 确保在分发rpy2包之前指定了以下环境变量: 导出C_INCLUDE_PATH = / path / to / R / lib64 / R / include
  3. 最后但并非最不重要的是,只有满足所有这些要求时才安装的那些软件包可以通过importr在python中正确导入。如果没有,您可能需要重新安装R软件包。