导入pandas.rpy.common时在Python中出现段错误11
我正在使用Mountain Lion系统,默认安装了Python 2.7.2。我用这个版本的Python设置了一个新的虚拟环境,并通过pip install安装了一些包,比如numpy、matplotlib、ipython等。我还在开发一个脚本,用来从R中加载数据,所以我也安装了rpy2。当我在终端启动Python时,可以正常导入所有已安装的包(例如numpy、matplotlib等),没有任何问题。但是,当我输入以下命令:
import pandas.rpy.common as com
或者
import rpy2.robjects as objects
然后在Python中输入exit()
退出时,系统报告了一个分段错误11。如果我在Python提示符下单独输入每个命令,这个问题可能不算太严重,因为这些命令似乎都能正常工作。然而,我无法将这些命令作为一个较长脚本的一部分运行,因为这个错误似乎会导致脚本提前停止。
我安装的pandas版本是0.14.1(之前是0.14.0,问题一样)。R的版本是3.1.1。我尝试重新安装R,并创建新的虚拟环境,重新安装所有包。
关于分段错误11,有很多讨论,认为这是由于Mavericks引入的变化造成的。但我认为这些问题不应该影响Mountain Lion。任何建议都将不胜感激。
1 个回答
0
在一些安装了系统版R(比如说RStudio)的机器上,如果同时在一个环境中安装了rpy2(比如用conda),那么系统版的R会被使用。但是,这个系统版的R可能和rpy2构建时用的版本不兼容,这样就会导致程序崩溃(也就是出现“段错误”)。
要检查你使用的R版本是否和rpy2捆绑的版本不同,可以运行以下命令:
import rpy2
for row in rpy2.situation.iter_info():
print(row)
想了解更多信息,可以查看这个回答。