Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.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 在windows 7上安装rpy2_Python_Windows_R_Installation_Rpy2 - Fatal编程技术网

Python 在windows 7上安装rpy2

Python 在windows 7上安装rpy2,python,windows,r,installation,rpy2,Python,Windows,R,Installation,Rpy2,我正在尝试在我的计算机上安装rpy2,但无法完成 我下载了源程序包,并尝试使用命令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 -

我正在尝试在我的计算机上安装rpy2,但无法完成

我下载了源程序包,并尝试使用命令
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\u-install
,但没有成功。我有R2.15.2、Python2.7.2和Windows7(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

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


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

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

当您使用输出编辑问题时,问题似乎是当从
python setup.py install
将该命令作为子进程运行时,从终端运行该命令时,返回一个空字符串,但有一个输出。
我还从终端的输出中读取cygwin所涉及的数据。也许这就是问题所在?

我通常也没有成功地让Rpy2在Windows上工作。在从预编译的二进制文件中使用R2.15和Rpy2进行了几个小时的黑客攻击之后,我接着进行了安装。在得到支持之前,这可能对你有用。就我个人而言,我很想在Windows和IPython笔记本电脑上看到Rpy2(%load_ext rmagic),但我就是不能再花时间在它上面了

我刚刚使用的二进制安装程序在Windows 8.1 64位上成功安装了rpy2。下载二进制文件通常比在Windows中编译软件包容易得多

另外,在安装rpy2二进制文件之前,您应该设置
R\u HOME
环境变量(在我的例子中,设置为
C:\Program Files\R\R-3.1.1
)。否则会出现
RuntimeError:R\u HOME未定义。
尝试导入rpy2时出错。(感谢)

最后,如果要在ipython中使用,请确保使用
%load_ext rpy2.ipython
而不是
%load_ext rmagic
。它是rpy2版本2.4.0中的一个重要功能

(多亏了)

编辑,我终于设法让它工作了!!!见下文:

我一直在绞尽脑汁想让它发挥作用,但还没有完全弄明白。我发现这个错误

“sh”不被识别为内部或外部命令、可操作程序或批处理文件

是由于缺少mingw和Rtools(以及其他类似unix的帮助程序)造成的。()

我通过安装Rtools()和mingw()度过了这一阶段(但由于sourceforge.net上的mingw-w64项目正在迁移到mingw-w64.org,我建议使用)

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

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

错误。我仍在寻找解决方案

希望这能在某些方面帮助到别人

更新:因此,与安装相关的问题似乎很多。setup.py无法找到R的正确版本,并且编译器存在问题

因此,如何继续:

  • 从下载源代码
  • 更新您的环境变量-在用户变量中
    • 路径:将路径附加到URR安装eg;C:\ProgramFiles\R\R-3.0.2\bin\x64
    • R\u HOME:路径为R:C:\Program Files\R\R-3.0.2的新变量
    • R_USER:用户名,例如john
  • 安装Rtools()和mingw()
  • 之前绕123行

    返回自我。\u版本 我添加了self.\u version=[3,0]以强制版本为3.0(可能有人能更好地解决这个问题)

  • 在python27/lib/distutils中的文件unixcompiler.py中,或者在我的例子中是C:\Users(user\u name)\AppData\Local\Continuum\Anaconda\lib\distutils注释行227

  • compiler=os.path.basename(sysconfig.get\u config\u var(“CC”)) 带#(#compiler=os.path.basename(sysconfig.get#u config_var(“CC”))

    并添加行

    编译器='gcc'

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

    python setup.py build安装

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

    额外构建64位R

    编辑系统路径

    就这样!!让它发挥作用


    希望这有帮助

    查看我制作的关于此问题的安装文档


    它是特定于ArcGIS设置的目录,但快速移植我不确定是否有人仍在关注讨论,但无论如何,我尝试让rpy2工作的目的是让它在我的Ipython笔记本中工作。如果其他人也这么做,我建议使用IRkernel,它可以像蛋糕一样顺利安装(制作得很好)。以下是完成这项工作的资源。我用过它,它就像一个符咒

    基本上,您需要运行的是:

    install.packages(c('rzmq','repr','IRkernel','IRdisplay'),repos = c('http://irkernel.github.io/', getOption('repos')))
    
    IRkernel::installspec()
    
    如果您发现任何问题,请参阅以下资源:


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

    这些指令很可能只适用于Python2.7+和R3.2+,但可能适用于R3.0+。我正在将我在系统上使用的路径放入确保相应地修改路径:

    首先,在尝试这些步骤之前,请确保已卸载以前的任何rpy2安装(并且在安装之前显然已安装R3.2+)

  • 从下载r2py的.whl文件
  • 从下载文件的目录中,使用
    pip安装[put.whl filename here]
    (在命令行中)安装.whl文件
  • 附加路径si
    import rpy2.robjects as robjects 
    
    conda install --channel https://conda.anaconda.org/Richarizardd rpy2
    
    conda install -c r rpy2 
    
    https://github.com/conda-forge/rpy2-feedstock
    
    R_HOME = D:\Program Files\R\R-3.4.1
    R_USER = Administrator 
    
    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)
            ''')