28

我正在尝试在我的计算机上安装 rpy2,但我无法做到。

我下载了源包,并尝试使用命令安装 Rpy2 (rpy2-2.3.2) python setup.py install。这是结果:

running install
running build
running build_py
running build_ext
"C:\PROGRA~1\R\R-215~1.2\bin\R" CMD config --ldflags
"C:\PROGRA~1\R\R-215~1.2\bin\R" CMD config --cppflags
"C:\PROGRA~1\R\R-215~1.2\bin\R" CMD config LAPACK_LIBS

returned an empty string.

"C:\PROGRA~1\R\R-215~1.2\bin\R" CMD config BLAS_LIBS

returned an empty string.

Configuration for R as a library:
    include_dirs: ('C:/PROGRA~1/R/R-215~1.2/include/i386', 'C:/PROGRA~1/R/R-215~1.2/include')
    libraries: ('R',)
    library_dirs: ('C:/PROGRA~1/R/R-215~1.2/bin/i386',)
    extra_link_args: ()
   # OSX-specific (included in extra_link_args)
    framework_dirs: ()
    framework: ()
building 'rpy2.rinterface._rinterface' extension
creating build\temp.win32-2.7
creating build\temp.win32-2.7\Release
creating build\temp.win32-2.7\Release\rpy
creating build\temp.win32-2.7\Release\rpy\rinterface
C:\Rtools\gcc-4.6.3\bin\gcc.exe -mcygwin -mdll -O -Wall -DWin32=1 -I.\rpy\rinterface -IC:\Python27\include -IC:\Python27\PC -IC:/PROGRA~1/R/R-215~1.2/include/i386 -IC:/PROGRA~1/R/R-215~1.2/include -c .\rpy\rinterface\_interface.c -o build\temp.win32-2.7\Release\.\rpy\rinterface\_rinterface.o
cc1.exe: error: unrecognized command line option '-mcygwin'
error: command 'gcc' failed with exit status 1

我也尝试过成功build installeasy_install失败。我有 R 2.15.2、Python 2.7.2 和 Windows 7(32 位)。

我究竟做错了什么?

PS.如果我粘贴该命令,结果是:

cygwin警告:

MS-DOS style path detected C:\PROGRA~1\R\R-215~1.2\bin\config.sh
Preferred POSIX equivalent is: /cygdrive/c/PROGRA~1/R/R-215~1.2/bin/config.sh
CYGWIN environment variable option "nodosfilewarning" turns off this warning.
Consult the user's guide for more details about POSIX paths:
    http://cygwin.com/cygwin-ug-net/using.html#using-pathnames

-LC:/PROGRA~1/R/R-215~1.2/bin/i386 -lR

4

9 回答 9

23

好的。根据以前的经验,我发现关于如何在 Windows 上安装 rpy2 的说明并不多。我知道它没有得到官方支持,但实际上并不难。在几个步骤中,我将展示我所做的事情,也许其他人可以效仿。

这些指令很可能仅适用于 Python 2.7+ 和 R 3.2+,但可能适用于 R 3.0+。我正在将我使用过的路径放在我的系统上。确保相应地修改路径:

首先,在尝试这些步骤之前,确保所有以前的 rpy2 安装都是 UNINSTALLED (并且在安装之前显然有 R 3.2+)。

  1. 从这里下载 r2py 的 .whl 文件
  2. pip install [put .whl filename here]使用(在命令行中)从下载文件的目录安装 .whl 文件
  3. 添加类似于C:\Program Files\R\R-3.2.0\binPATH 环境变量的路径
  4. 创建一个R_HOME系统变量,其值类似于:C:\Program Files\R\R-3.2.0
  5. 使用您的用户名创建R_USER系统变量
  6. 创建一个R_LIBS_USER系统变量,其中包含安装/将安装外部 R 包的文件夹的路径。

而已。打开命令提示符并输入命令R。这应该会启动一个 R 会话并显示版本信息。

现在打开 python 并运行这一行,看看事情是否成功:

import rpy2.robjects as robjects 

希望这会有所帮助。

于 2015-10-07T04:08:08.233 回答
15

我刚刚使用来自http://www.lfd.uci.edu/~gohlke/pythonlibs/#rpy2的二进制安装程序在 Windows 8.1 64bit 上成功安装了 rpy2 。通常只下载一个二进制文件而不是尝试在 Windows 中编译一个包要容易得多。

此外,您应该在安装 rpy2 二进制文件之前设置R_HOME环境变量(在我的情况下为 to )。C:\Program Files\R\R-3.1.1否则,RuntimeError: R_HOME not defined.当您尝试导入 rpy2 时会出错。(感谢 rpy2 的R_HOME 错误

最后,如果你想在 IPython 中使用它,请确保使用%load_ext rpy2.ipython而不是。%load_ext rmagic它是rpy2 版本 2.4.0中的新功能之一。

(感谢IPython notebook 和 rmagic/rpy2: cannot find module ri2py (OSX 10.8.5, python 2.7, R 3.1)

于 2014-09-02T18:57:49.180 回答
7

我通常也没有成功让 Rpy2 在 Windows 上工作。经过几个小时从预编译的二进制文件2.3.4.win-amd64-py2.7中修改 R2.15 和 Rpy2 后,我遵循了这个问题,并安装了pyper。在获得支持之前,这可能对您有用。我很想在 Windows 和 IPython notebook (%load_ext rmagic) 上看到 Rpy2,但我不能再花时间在它上面了。

于 2013-03-18T13:35:57.433 回答
3

按照上面的答案,这对我有用

系统:Win 7-64,Python 3.6,

1.安装你需要的R和包

2.设置R_HOMER_USER,作为环境变量

R_HOME = D:\Program Files\R\R-3.4.1
R_USER = Administrator 

用户名可以echo %username%在cmd中获取

3.下载rpy2安装

从http://www.lfd.uci.edu/~gohlke/pythonlibs/下载 rpy2

检查它的路径,并将其安装在 cmd 中,如pip install rpy2-2.8.6-cp36-cp36m-win_amd64.whl

4.创建一个笔记本,看看它是否有效

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)
        ''')
于 2017-08-22T07:52:21.573 回答
2

编辑最后我设法让它工作!!!见下文:

我一直在努力让这个工作,但仍然没有完全弄清楚。我发现错误是

'sh' 不是内部或外部命令、可运行程序或批处理文件

是由于缺少 mingw 和 Rtools(以及其他类似 unix 的帮助程序)造成的。( http://sourceforge.net/p/rpy/mailman/message/26549197/ )

我通过安装 Rtools(http://cran.r-project.org/bin/windows/Rtools/)和 mingw(http://sourceforge.net/projects/mingw-w64/)通过了这个阶段(但是自从sourceforge.net 上的 mingw-w64 项目正在迁移到 mingw-w64.org,我建议使用mingw-w64.org

我通过了 R.exe CMD config --ldflags 错误但被卡住了

TypeError:“NoneType”类型的对象没有 len()

错误。我还在寻找解决方案!!

希望这在某些时候对某人有所帮助。

更新:所以似乎有几个与安装相关的问题。setup.py 无法找到正确的 R 版本并且编译器有问题。

所以,进行的方式:

  1. 从https://pypi.python.org/pypi/rpy2下载源代码。
  2. 更新您的环境变量 - 在用户变量中
    • PATH :将路径附加到您的 R 安装,例如 ;C:\Program Files\R\R-3.0.2\bin\x64
    • R_HOME :一个新变量,其路径为 R: C:\Program Files\R\R-3.0.2
    • R_USER : 用户用户名,例如 john
  3. 安装 Rtools ( http://cran.r-project.org/bin/windows/Rtools/ ) 和 mingw ( http://mingw-w64.org )
  4. 前123行左右

    return self._version 我添加了 self._version = [3, 0] 以强制版本为 3.0(可能有人可以更好地解决这个问题)

  5. 在 python27/lib/distutils 或在我的情况下 C:\Users(user_name)\AppData\Local\Continuum\Anaconda\Lib\distutils 注释行 227 中的文件 unixccompiler.py

编译器 = os.path.basename(sysconfig.get_config_var("CC")) 与 # (#compiler = os.path.basename(sysconfig.get_config_var("CC")))

并添加行

编译器 = 'gcc'

其他一些事情 - 使用命令提示符 cmd 进行安装。利用

python setup.py 构建安装

安装 Rtools 和 mingw 接受所有默认值。在 Rtools 中选择

额外构建 64 位 R

编辑系统路径

而已!!让它工作..

希望这可以帮助!!

于 2015-02-02T23:50:20.020 回答
2

在 Anaconda 上,您可以使用以下方式安装:

conda install --channel https://conda.anaconda.org/Richarizardd rpy2

或者,可以尝试:

conda install -c r rpy2 

也可以参考:

https://github.com/conda-forge/rpy2-feedstock
于 2016-02-25T09:19:01.007 回答
1

安装脚本setup.py告诉运行时遇到问题

"C:\PROGRA~1\R\R-215~1.2\bin\R" CMD config --ldflags

打开终端,粘贴该命令,检查错误是什么。

当您使用输出编辑问题时,问题似乎是在从python setup.py install空字符串运行该命令作为子进程时返回,而从终端运行命令时有输出。我还从涉及 cygwin 的终端的输出中读取。可能这是问题吗?

于 2013-02-15T06:23:33.300 回答
1

我不确定是否有人仍在关注讨论,但无论如何,我试图让 rpy2 工作的目的是为了能够让它在我的 Ipython 笔记本中工作。如果其他人也想这样做,我建议使用 IRkernel,它可以像蛋糕一样顺利安装(制作精良的蛋糕)。这是完成它的资源。我用过它,它就像一个魅力。

基本上你需要运行的是:

install.packages(c('rzmq','repr','IRkernel','IRdisplay'),repos = c('http://irkernel.github.io/', getOption('repos')))

IRkernel::installspec()

如果您发现任何问题,这里是资源:

https://github.com/IRkernel/IRkernel

http://blog.revolutionanalytics.com/2015/09/using-r-with-jupyter-notebooks.html

http://www.michaelpacer.com/maths/r-kernel-for-ipython-notebook

高温高压

于 2015-09-22T10:05:42.560 回答
0

查看我为这个问题制作的这个安装文档。https://www.academia.edu/12178754/rpy2Install

它是特定于 ArcGIS 设置的目录,但可以快速移植

于 2015-05-04T01:57:55.600 回答