Rpy2错误wac-a-mole:R_USER未定义。

8

我正在运行Python(x,y) 2.7,操作系统为Windows 7 32位,同时还安装了R版本3.1.0。我一直在尝试安装Rpy2,但是遇到了许多错误。最后,我找到了这个网站,提供了预编译的Python模块,适用于Windows:http://www.lfd.uci.edu/~gohlke/pythonlibs/,因此我下载了rpy2-2.4.2.win32-py2.7.exe。我尝试使用它时遇到了问题。

import rpy2.robjects as robjects

我遇到了一个错误,说找不到R_HOME,所以我更新了我的路径变量。这个问题已经解决了,但是接着我又遇到了一个错误,说找不到R_USER。我根据SO的回答更新了我的PYTHONPATH变量,但这没有起作用,我现在陷入了困境。我在Spyder和系统变量中都更新了我的PYTHONPATH,但仍然无法解决。有没有人知道可能出了什么问题?这是我收到的错误信息:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python27\lib\site-packages\rpy2\robjects\__init__.py", line 18, 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()
RuntimeError: R_USER not defined.

这是我的PYTHONPATH包含的内容:

C:\Python27\Lib\site-packages\rpy2;C:\Program Files\R\R-3.1.0\bin\i386;C:\Python27\Lib\site-packages\rpy2\robjects

这是我的PATH包含的内容:

路径列表如下:

C:\Python27\Lib\site-packages\PyQt4;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;c:\Program Files\Intel\DMIX;C:\Program Files\Intel\Services\IPT\;C:\Python27;C:\Python27\DLLs;C:\Python27\Scripts;C:\Python27\Lib\site-packages\vtk;C:\Python27\gnuplot\binary;C:\Program Files\pythonxy\SciTE-3.1.0;C:\Program Files\pythonxy\console;C:\MinGW32-xy\bin;C:\Program Files\R\R-3.1.0\bin;C:\MinGW32-xy\mingw32\bin;C:\MinGW32-xy\bin

感谢你能提供的任何帮助!


在PyCharm中遇到了类似的错误,按照这里所述使用PYTHONPATH变量解决了问题。 - Nate Wanner
我遇到了一个错误,说找不到R_HOME,所以我更新了我的路径变量。这个问题已经解决了。 - Franck Dernoncourt
1个回答

15
您需要设置 R_USER 环境变量,例如设置为您使用的 Windows 账户的用户名。请参阅来自 此链接 的以下引用:

1)将 R.dll 的路径添加到我的 PATH 变量中(我进入了32位目录) 2)添加一个环境变量 R_HOME(对我来说是 C:\Program Files\R\R-2.12.1) 3)添加一个环境变量 R_USER(只需在 Windows 中使用我的用户名即可)。


如果您不确定用户名是什么,可以使用 Sys.info() - billmanH
2
Sys.info() 应该在 R 控制台中运行。 - Franck Dernoncourt
你要把这个路径添加到哪里?这个路径的名字是什么?“1)将R.dll的路径添加到我的PATH变量中(我进入了32位目录)”。 - Evan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接