【问题标题】:rpy2 not working after upgrading R to 3.0.1将 R 升级到 3.0.1 后 rpy2 无法正常工作
【发布时间】:2013-07-03 20:35:36
【问题描述】:

我有一个在内部使用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 版本升级?
  • 我从 R 3.0 升级。

标签: python r rpy2


【解决方案1】:

ubuntu 14.04 下使用anacondapython2.7 的解决方案如下:

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

这适用于命令行,也适用于我的 pycharm 终端。 但是,在pycharm下还是不行,我得到和OP一样的错误。

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

【讨论】:

  • 这也适用于 Mac OS X (El Capitan) 上的 Anaconda。
【解决方案2】:

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

【讨论】:

    【解决方案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
    

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

    【讨论】:

      【解决方案4】:

      rpy2-2.2.5 属于上一个系列 (2.2.x),并且正在使用旧版本的 R(R 不断发展)。

      rpy2 的当前版本是 2.3.x 系列(最新的是 2.3.6),但它们需要 Python 2.7 或 Python 3.3(如果您想要最新的 R,则必须获得最新的 Python ; -))

      【讨论】:

        【解决方案5】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-04-04
          • 2017-07-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-11-03
          • 2020-08-20
          • 2020-05-30
          相关资源
          最近更新 更多