我下载了源码包,并尝试使用命令python setup.py install
来安装Rpy2(rpy2-2.3.2)。 这是结果:
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 install
和easy_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-1R
我刚刚使用http://www.lfd.uci.edu/~gohlke/pythonlibs/#rpy2的二进制安装程序在Windows 8.1 64bit上成功安装了rpy2。 只需下载一个二进制文件而不是试图在Windows中编译一个软件包通常要容易得多。
另外,在安装rpy2二进制文件之前,你应该设置R_HOME
环境变量(在本例中为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笔记本和rmagic / rpy2:找不到模块ri2py(OSX 10.8.5,python 2.7,R 3.1) )
好。 根据之前的经验,我发现在Windows上安装rpy2的指示并不多。 我知道这不是官方的支持,但实际上并不难。 在几个步骤中,我会显示我做了什么,也许别人可以遵循。
这些说明很可能只适用于Python 2.7+和R 3.2+,但可能适用于R 3.0+。 我正在把我在系统上使用的路径。 确保相应地修改路径:
首先,确保在尝试这些步骤之前,以前的任何rpy2安装都是“卸载”的(安装前显然有R 3.2+)。
pip install [put .whl filename here]
(在命令行中)从文件下载的目录中 C:\Program Files\R\R-3.2.0\bin
的路径追加到您的PATH环境变量中 R_HOME
以下值的R_HOME
系统变量: C:\Program Files\R\R-3.2.0
R_USER
系统变量 R_LIBS_USER
系统变量,其中包含将安装外部R软件包的文件夹的路径。 而已。 打开命令提示符并输入命令R
这应该启动一个R会话并显示版本信息。
现在打开python并运行这个行来看看事情是否成功:
import rpy2.robjects as robjects
希望这有助于。
我也一般没有成功让Rpy2在Windows上工作。 从预编译的二进制文件2.3.4.win-amd64-py2.7开始用R2.15和Rpy2进行了几个小时的攻击之后,我跟着这个问题 ,并安装了pyper 。 也许这会为你工作,直到有支持。 我喜欢在Windows和IPython笔记本上看到Rpy2(%load_ext rmagic),但是我不能再花费更多的时间。
编辑最后,我设法得到它的工作! 见下文:
我一直在砸我的头,让这个工作,仍然没有完全弄清楚。 我发现的是错误
“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配置–ldflags的错误,但卡住了
TypeError:类型'NoneType'的对象没有len()
错误。 我仍然在寻找解决方案!
希望这可以帮助某个人。
更新:所以似乎有几个与安装相关的问题。 setup.py无法找到R的正确版本,编译器也有问题。
所以,要继续下去:
在123线左右
返回self._version我添加self._version = [3,0]强制版本为3.0(可能有人可以解决这个更好)
在python27 / lib / distutils文件或者我的情况C:\ Users(user_name)\ AppData \ Local \ Continuum \ Anaconda \ Lib \ distutils注释行的文件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
和
编辑系统PATH
而已!! 得到它的工作..
希望这可以帮助!!
安装脚本setup.py
说明运行时遇到问题
"C:\PROGRA~1\R\R-215~1.2\bin\R" CMD config --ldflags
打开终端,粘贴该命令,检查错误是什么。
当你用输出编辑问题的时候,问题似乎是,当从python setup.py install
运行该命令作为一个子python setup.py install
一个空字符串被返回,而当从终端运行命令时有一个输出。 我也从cygwin涉及的终端输出读取。 可能是这个问题?
我不确定是否有人继续讨论,但无论如何,我试图让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
HTH
在Anaconda上,您可以使用以下方式进行安装:
conda install --channel https://conda.anaconda.org/Richarizardd rpy2
按照上面的答案,这是对我有用
系统:Win 7-64,Python 3.6,
R_HOME
和R_USER
设置为环境变量 R_HOME = D:\Program Files\R\R-3.4.1 R_USER = Administrator
用户名可以通过cmd中的echo %username%
获得
rpy2
并安装 从http://www.lfd.uci.edu/~gohlke/pythonlibs/下载rpy2
检查到它的路径,并将其安装在CMD中,如pip intall rpy2-2.8.6-cp36-cp36m-win_amd64.whl
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) ''')
看看这个安装文件,我就这个问题。 https://www.academia.edu/12178754/rpy2Install
它是特定于ArcGIS设置的目录,但是可以快速移植