3

我有一个内部python使用的脚本rpy2。该脚本直到最近才起作用。但是,它现在停止工作。我收到了一个我以前从未见过的错误。我可以使用以下代码行重现错误:

$ 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

我不知道为什么这不起作用。有没有什么办法解决这一问题。

4

5 回答 5

5

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

于 2013-08-08T12:53:10.137 回答
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 ;-))

于 2013-07-05T19:24:52.270 回答
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

我会将此作为对上述内容的评论进行分享,但格式丢失了。所以这里的新手!

于 2013-09-25T16:05:53.817 回答
1

我有类似的问题;我刚刚卸载然后重新安装了 rpy2,它现在工作正常。

于 2014-02-14T00:02:27.780 回答
1

正在ubuntu 14.04使用anaconda的解决方案python2.7如下:

conda install -c https://conda.anaconda.org/r rpy2

这适用于命令行,也pycharm适用于我的终端。但是,仍然无法在 下工作pycharm,并且我得到与 OP 相同的错误。

它现在可以在 . 上工作pycharm,但在pycharm终端上工作的事实有点奇怪。

于 2016-03-07T22:31:22.270 回答