导入pandas.rpy.common时在Python中出现段错误11

3 投票
1 回答
867 浏览
提问于 2025-04-18 13:02

我正在使用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)

想了解更多信息,可以查看这个回答

撰写回答