升级R到3.0.1后,rpy2无法工作。

4

我有一个使用内部rpy2python脚本。这个脚本之前一直在运行,但最近突然停止工作了。出现了之前从未见过的错误。以下代码可以重现这个错误:

$ python
Python 2.6.1 (r261:67515, Jun 24 2010, 21:47:49) 
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import rpy2.robjects as robjects
cannot find system Renviron
Error in getLoadedDLLs() : there is no .Internal function 'getLoadedDLLs'
Error in checkConflicts(value) : 
".isMethodsDispatchOn" is not a BUILTIN function
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Python/2.6/site-packages/rpy2-2.2.5dev_20120328-py2.6-macosx-10.6-    universal.egg/rpy2/robjects/__init__.py", line 17, in <module>
from rpy2.robjects.robject import RObjectMixin, RObject
File "/Library/Python/2.6/site-packages/rpy2-2.2.5dev_20120328-py2.6-macosx-10.6-universal.egg/rpy2/robjects/robject.py", line 9, in <module>
class RObjectMixin(object):
File "/Library/Python/2.6/site-packages/rpy2-2.2.5dev_20120328-py2.6-macosx-10.6-universal.egg/rpy2/robjects/robject.py", line 22, in RObjectMixin
__show = rpy2.rinterface.baseenv.get("show")
LookupError: 'show' not found

我不知道为什么这个不起作用。有没有办法修复它。


您正在升级哪个版本的 R? - joran
我从R 3.0升级了。 - Sam
5个回答

5

这个页面描述了一个可能的解决方案(至少,作者描述的问题看起来非常相似):显然,rpy2必须重新编译,并给出新版本的R作为参数。


3

rpy2-2.2.5属于之前的系列(2.2.x),可以与旧版本的R一起使用(R不断发展)。

当前的rpy2版本是2.3.x系列(最新版本为2.3.6),但它们需要Python 2.7或Python 3.3(如果你想使用最新的R,你需要获取最近的Python版本;-))。


3

提醒:对于Mac用户:按照@Bertrand Moreau分享的链接,以下方法适用于Mac OS X 10.7.5和R 3.0.1:

cd /Users/xx/Downloads/rpy2-2.3.7
export LDFLAGS="-Wl,-rpath,/Library/Frameworks/R.framework/Resources/lib"
sudo python3.3 setup.py build --r-home /Library/Frameworks/R.framework/Resources install
sudo python3.3 setup.py install

我本来想在上面发表评论,但是格式丢失了。我是一个 SO 的新手!

1
在使用anacondapython2.7ubuntu 14.04中,解决方法如下: conda install -c https://conda.anaconda.org/r rpy2 这个命令可以在命令行中运行,也可以在pycharm终端中运行。但是,在pycharm中仍然无法正常工作,并且我会得到与OP相同的错误。
它现在可以在pycharm终端中工作,但不能在pycharm中正常工作有点奇怪。

这在Mac OS X(El Capitan)上的Anaconda中也适用。 - Miles Erickson

1

我遇到了类似的问题,我只是卸载了然后重新安装了rpy2,现在它可以正常工作了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接