如何设置环境变量R_user以在python中使用rpy2

时间:2012-10-02 21:48:13

标签: python r error-handling installation

我无法在python中运行rpy2。

使用此代码

 import rpy2.robjects as robjects

以下是完整的例外情况:


RuntimeError:未定义R_USER。

文件“d:\ py \ r \ n \ 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()

我正在使用窗口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

6 个答案:

答案 0 :(得分:18)

以下是我修复 R 软件包版本 3.0.2 python版 2.7 平台ipython笔记本的方法。

更改R计算机的路径 - &gt; property - &gt;高级和系统设置 - &gt;环境变量

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

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

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

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

答案 1 :(得分:9)

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

您可以根据@ user3758274:

更改路径
  

更改R计算机的路径 - &gt; property - &gt;高级和系统设置 - &gt;用户变量字段中的环境变量将C:\Program Files\R\R-3.0.2\bin\x64(我的系统是Windows 64位)添加到路径

     

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

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

答案 2 :(得分:7)

OH,nvm ..我修好了..这就是我怎么做的,只是因为任何人都有同样的问题。 我必须将pYTHONPATH指定为存储的rpy2.robjects

详细信息如下: 我的电脑&gt;系统属性&gt;高级&gt;环境变量:

在系统变量下创建或编辑

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

这应该有效,享受。

答案 3 :(得分:7)

结合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]

答案 4 :(得分:6)

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

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

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

答案 5 :(得分:2)

这可能是this rpy2 issue on bitbucket中讨论的内容。