【问题标题】:Errors about R_HOME when importing rpy2 (submodule)导入 rpy2(子模块)时有关 R_HOME 的错误
【发布时间】:2018-01-27 21:38:07
【问题描述】:

导入 rpy2.robjects 时,出现以下错误。它说我必须设置 R_HOME 环境变量或将 R 解释器的目录添加到 PATH 中。但我不知道如何处理它。你如何解决它?我该怎么办?

问题只出现在idle,不出现在bash、sublime、pycharm或notebook中!

PS:我有R(3.4)和rpy2(2.8.6),在mac下,导入rpy2没有错误

PSS:我试过 PATH="/Library/Frameworks/R.framework/Versions/3.4/Resources/bin:{PATH}" 导出路径。但我失败了。

>>> import rpy2.robjects as robjects

Traceback(最近一次调用最后一次): 文件“”,第 1 行,在 将 rpy2.robjects 导入为 robjects 文件“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/rpy2/robjects/init.py”,第 16 行,在 导入 rpy2.rinterface 作为 rinterface 文件“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/rpy2/rinterface/init.py”,第 81 行,在 """) RuntimeError: 无法确定 R 主目录。

Try to install R <https://www.r-project.org/>,
set the R_HOME environment variable to the R home directory, or
add the directory of the R interpreter to the PATH environment variable.

【问题讨论】:

    标签: python rpy2


    【解决方案1】:

    也许您在空闲时使用的 python 环境与在 bash、sublime、pycharm 和 notebook 中不同。我建议使用 anaconda 来管理多个环境。然后接受here 的建议,在您希望使用 rpy2 的 Python 环境中设置 R_HOME 环境变量。

    【讨论】:

      【解决方案2】:

      我使用的是 Mac,因此这些步骤对我来说与其他答案不同。

      1. 从终端运行

        {python3 -m rpy2.situation}
        

        如果已经设置,这将给出 R_HOME 的值。 对我来说,它如下所示:

        rpy2 version:
        3.4.5
        Python version:
        3.8.8 (default, Apr 13 2021, 12:59:45) 
        [Clang 10.0.0 ]
        
        
        Looking for R's HOME:
            Environment variable R_HOME: None
        
            Calling `R RHOME`: /Library/Frameworks/R.framework/Resources
        
            Environment variable R_LIBS_USER: None
        
        R's additions to LD_LIBRARY_PATH:
        
        R version:
            In the PATH: R version 4.1.2 (2021-11-01) -- "Bird Hippie"
        
            Loading R library from rpy2: OK
        
        Additional directories to load R packages from:
        None
        
        C extension compilation:
          include:
          ['/Library/Frameworks/R.framework/Resources/include']
          libraries:
          ['pcre2-8', 'lzma', 'bz2', 'z', 'icucore', 'dl', 'm', 'iconv']
          library_dirs:
          ['/usr/local/lib', '/usr/local/lib']
          extra_compile_args:
          []
          extra_link_args:
          ['-F/Library/Frameworks/R.framework/..', '-framework', 'R']
        
      2. 现在,在代码中,在您使用的任何 IDE(例如 PyCharm/Spyder)中,输入以下内容:

        {import os
        
        os.environ['R_HOME'] = '/Library/Frameworks/R.framework/Resources'}
        

      【讨论】:

        【解决方案3】:

        你如何解决它?我该怎么办?

        打开一个终端,写“R --version”,回车。如果你有 R,在同一个终端中输入“python”(import rpy2.robjects 就可以了)。如果R --version 未找到 R,则说明未设置 PATH 或未安装 R。

        使用 Docker 和其中一个 Docker 映像的替代方法。

        【讨论】:

        • 问题只出现在idle。
        猜你喜欢
        • 2013-07-08
        • 1970-01-01
        • 2020-12-21
        • 2016-08-11
        • 1970-01-01
        • 2023-02-15
        • 1970-01-01
        • 1970-01-01
        • 2020-10-25
        相关资源
        最近更新 更多