Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Rpy2找不到R.dll_Python_R_Path_Rpy2 - Fatal编程技术网

Python Rpy2找不到R.dll

Python Rpy2找不到R.dll,python,r,path,rpy2,Python,R,Path,Rpy2,我在Windows 7 64位上,使用Python 2.7.9,安装了R-3.2.0(以前也尝试过R-2.12.2和R-3.1.3,但得到了相同的结果),将C:\Program Files\R\R-3.2.0\bin\i386添加到系统路径,将R\U HOME作为系统变量添加到值C:\Program Files\R\R-3.2.0,将R\u用户添加到值“Matt”,并使用.exe文件安装了rpy2-2.3.0dev,该文件已安装 但是,在rpy2导入对象中键入会在rpy2\rinterface\

我在Windows 7 64位上,使用Python 2.7.9,安装了R-3.2.0(以前也尝试过R-2.12.2和R-3.1.3,但得到了相同的结果),将
C:\Program Files\R\R-3.2.0\bin\i386
添加到系统路径,将R\U HOME作为系统变量添加到值
C:\Program Files\R\R-3.2.0
,将R\u用户添加到值“Matt”,并使用.exe文件安装了rpy2-2.3.0dev,该文件已安装

但是,在rpy2导入对象中键入
会在rpy2\rinterface\\uuuuu init\uuuuuu.py中出现以下错误:

Traceback (most recent call last):
  File "C:\Python27\rpy2Test.py", line 2, in <module>
    from rpy2 import robjects
  File "C:\Python27\lib\site-packages\rpy2\robjects\__init__.py", line 14, in <module>
    import rpy2.rinterface as rinterface
  File "C:\Python27\lib\site-packages\rpy2\rinterface\__init__.py", line 79, in <module>
    raise RuntimeError("Unable to locate R.dll within %s" % R_HOME)
RuntimeError: Unable to locate R.dll within C:Program Files\R\R-3.2.0
进入rinterface\\uuuu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

我也尝试过将bin\i386文件夹中的所有内容复制到bin文件夹中,但仍然没有任何区别


如何让rpy2找到r.dll?

昨晚我制作了一个rpy2安装pdf,它解决了这个问题——路径中链接的r、Pyhton、pywin32或rpy2很可能不是32位的

也许这会有帮助-


(唯一的问题是我在C:/Python27/ArcGIS10.2/Python.exe中有Python,否则其他所有东西都应该移植。)

我多次与这个问题作斗争,发现了一个可能不那么优雅,但相当简单的解决方案,解决了整个无法导入rpy2的问题。如果您也厌倦了处理env变量,那么只需在一个小python脚本中设置它,您可以在开始时导入它。 首先获取rpy2.whl包并根据 然后,只需创建一个小的python脚本,在依赖于rpy2的其他python脚本的开头导入该脚本。 对我来说,这是可行的:

from __main__import *
import os
os.environ['PYTHONHOME'] = 'C:/Program Files/Python'
os.environ['PYTHONPATH'] = 'C:/Program Files/Python/lib/site-packages'
os.environ['R_HOME'] = 'C:/Program Files/R/R-3.5.1'
os.environ['R_USER'] = 'C:/Program Files/Python/Lib/site-packages/rpy2'

# importing rpy2 now throws no errors
import rpy2.robjects as ro

在主python脚本开始时导入此脚本时,我可以使用rpy2包并从python中控制R。

感谢您的回答,但我决定改用PypeR。无论如何,我试着用pip和.whl文件重新安装rpy2,我安装了singledispatch,但问题仍然存在。哇!我用的是64位的R。我真丢脸。我从没想到这会是个问题。但谢谢你解决了这个问题。这能回答你的问题吗?对不起,我不知道,我不记得那个问题了。我应该把它取下来吗?
from __main__import *
import os
os.environ['PYTHONHOME'] = 'C:/Program Files/Python'
os.environ['PYTHONPATH'] = 'C:/Program Files/Python/lib/site-packages'
os.environ['R_HOME'] = 'C:/Program Files/R/R-3.5.1'
os.environ['R_USER'] = 'C:/Program Files/Python/Lib/site-packages/rpy2'

# importing rpy2 now throws no errors
import rpy2.robjects as ro