将rpy模块导入Python

1 投票
1 回答
1534 浏览
提问于 2025-04-16 17:01

我正在尝试在python2.6.6中导入rpy1.0.3模块,使用的代码是:

from rpy import *

但是我遇到了这个错误:

File "C:\Python26\lib\site-packages\rpy.py", line 58, in <module>
    RVERSION = rpy_tools.get_R_VERSION(RHOME)
  File "C:\Python26\lib\site-packages\rpy_tools.py", line 103, in get_R_VERSION
    raise RuntimeError("Couldn't obtain version number from output\n"
RuntimeError: Couldn't obtain version number from output
of `R --version'.

根据rpy的文档,我已经设置了一个环境变量,里面包含了我R程序目录的文件路径,但它似乎无法识别我安装的R版本(我安装的是2.9.0)。有什么想法吗?谢谢!

1 个回答

1

setup.py这个脚本在调用rpy_tools.py这个脚本,以便获取版本号。它会在R --version的输出中查找一个特定的模式:

version = re.search(" +([0-9]\.[0-9]\.[0-9])", output)

不过,现在R的版本是2.13.0,所以它找不到一个两位数的版本号。你需要把rpy_tools.py中的那一行替换成:

version = re.search(" +([0-9]+\.[0-9]+\.[0-9]+)", output)

你还需要删除setup.py创建的rpy_tools.pyc文件。

撰写回答