【问题标题】:How to setup environment variable R_user to use rpy2 in python如何设置环境变量 R_user 在 python 中使用 rpy2
【发布时间】:2012-09-23 19:31:21
【问题描述】:

我无法在 python 中运行 rpy2。

使用此代码

 import rpy2.robjects as robjects

以下是完整的例外情况:


RuntimeError: R_USER 未定义。

文件“d:\py\r\r.python.py”,第 1 行,在

  import rpy2.robjects as robjects

File "c:\Python27\Lib\site-packages\rpy2\robjects\__init__.py", line 17, in <module>
  from rpy2.robjects.robject import RObjectMixin, RObject

File "c:\Python27\Lib\site-packages\rpy2\robjects\robject.py", line 5, in <module>
  rpy2.rinterface.initr()

我正在使用 windows xp win32 这是我的位置:

C:\Python27\Lib\site-packages\rpy2\robjects\robject.py

C:\Program Files\R\R-2.15.0\bin\i386\R.exe

C:\Python27\python.exe

【问题讨论】:

    标签: python r error-handling installation


    【解决方案1】:

    结合answers from @laven_qa@user3758274,这对我有用:

    # installing steps after downloading .whl from http://www.lfd.uci.edu/~gohlke/pythonlibs/#rpy2
    import pip
    pip.main(["install", "C:/Users/YOUR_USERNAME/Downloads/rpy2-2.8.6-cp36-cp36m-win_amd64.whl"]) # Path to the file that was downloaded from the website above
    
    # setting temporary PATH variables
    import os
    os.environ['R_HOME'] = 'C:\Program Files\Microsoft\R Open\R-3.4.0' #path to your R installation
    os.environ['R_USER'] = 'C:\ProgramData\Anaconda3\Lib\site-packages\rpy2' #path depends on where you installed Python. Mine is the Anaconda distribution
    
    # importing rpy2
    import rpy2.robjects as robjects
    
    # test : evaluating R code
    robjects.r('''
            # create a function `f`
            f <- function(r, verbose=FALSE) {
                if (verbose) {
                    cat("I am calling f().\n")
                }
                2 * pi * r
            }
            # call the function `f` with argument value 3
            f(3)
            ''')
    
    # returns : 
    > R object with classes: ('numeric',) mapped to:
    > <FloatVector - Python:0x000000000C260508 / R:0x000000000F2872E8>
    > [18.849556]
    

    【讨论】:

    • 临时设置变量对我不起作用。我不得不完全重新安装thomas-cokelaer.info/blog/2012/01/…
    • 问题是我必须把正确的路径放到正确的文件夹中——我太过分了
    【解决方案2】:

    对于即时和临时的解决方案,您可以在导入 rpy2 之前添加以下代码:

    import os
    os.environ['R_HOME'] = 'C:/program files/R-3.3.1'
    

    值得注意的是,您应该在路径中使用反斜杠而不是斜杠。

    【讨论】:

      【解决方案3】:

      如果您想将 Python 与 rpy2 一起使用,但又想继续使用您的 RStudio,请不要忘记将 RStudio 也添​​加到您的路径中,否则您会遇到一些路径问题。

      你可以根据@user3758274改变你的路径:

      更改R计算机的路径->属性->高级和系统设置->用户变量字段中的环境变量添加C:\Program Files\R\R-3.0.2\bin\x64(我的系统是windows 64bit)到路径

      在系统变量字段中添加两个新变量

      R_HOME    c:\program files\r\r-3.0.2
      
      R_USER    C:\Users\"your user name"\Anaconda\Lib\site-packages\rpy2
      

      然后将 RStudio 添加到您的 R_USER 系统变量中,这样您将获得:

      R_USER    C:\Program Files\RStudio\bin;C:\Users\"your user name"\Anaconda\Lib\site-packages\rpy2
      

      【讨论】:

        【解决方案4】:

        这是我修复 R 包版本 3.0.2 python 版本 2.7 平台 ipython 笔记本的方式。

        更改R计算机的路径->属性->高级和系统设置->环境变量

        在用户变量字段中添加C:\Program Files\R\R-3.0.2\bin\x64(我的系统是windows 64bit)到路径

        在系统变量字段中添加两个新变量

        R_HOME c:\program files\r\r-3.0.2

        R_USER C:\Users\"your user name"\Anaconda\Lib\site-packages\rpy2

        【讨论】:

        • 对我来说,我遇到了这个问题,要解决它需要为系统和用户变量设置 R_USER 变量(使用同一台计算机 --> 属性 --> 高级和系统设置 - -> 环境变量方法)。我只是将它设置为 C:\Users\MyUsername
        • 嗨,我做了这个并且工作了。但是,当我运行 Rstudio 时,我收到路径错误The system cannot find the path specified 任何想法如何解决这个问题?谢谢
        • 这对我有用!谢谢你。只是想补充一点,您可能需要定位/浏览“rpy2”包的位置,以便为 R_USER 指定正确的路径。如果您输入如上所示的路径,并且“rpy2”不在那里,您将不会在“高级系统设置”下看到任何错误消息。并且 R_USER RunTimeError 会持续存在。对我来说,安装的“rpy2”包位于:C:\Users\{my_username}\Anaconda2\envs\py36\Lib\site-packages\rpy2
        【解决方案5】:

        哦,nvm .. 我解决了这个问题 .. 我就是这样做的,以防万一有人遇到同样的问题。 我必须将 PYTHONPATH 指定到存储的 rpy2.robjects 位置

        这里有详细信息: 我的电脑 > 系统属性 > 高级 > 环境变量:

        在系统变量下创建或编辑您的

        Variable name : PYTHONPATH 
        
        Variable value : C:\Python27\Lib\site-packages\rpy2;C:\Program Files\R\R-2.15.0\bin\i386;C:\Python27\Lib\site-packages\rpy2\robjects
        

        这应该有效,享受吧。

        【讨论】:

        • 拜托,你能扩大你的答案吗?我无法理解“存储 rpy2.robjects 的位置”是什么意思
        • 这让我在 PyCharm CE 中工作。添加 R_USER 变量并没有帮助,所以我将它们取出并让 R 恢复其默认值。
        猜你喜欢
        • 2020-04-28
        • 2011-08-23
        • 2022-01-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多