python - para - rpy2 instalar en windows 7
r library (9)
Acabo de instalar con éxito rpy2 en Windows 8.1 64bit con el instalador binario de http://www.lfd.uci.edu/~gohlke/pythonlibs/#rpy2 . Por lo general, es mucho más fácil simplemente descargar un archivo binario en lugar de intentar compilar un paquete en Windows.
Además, debe establecer la variable de entorno R_HOME
(en mi caso, en C:/Program Files/R/R-3.1.1
) antes de instalar el binario rpy2. De lo contrario, obtienes RuntimeError: R_HOME not defined.
error cuando intenta importar rpy2. (gracias a R_HOME Error con rpy2 )
Por último, asegúrese de usar %load_ext rpy2.ipython
lugar de %load_ext rmagic
si desea usarlo en IPython. Es una de las nuevas características de la versión 2.4.0 de rpy2.
(Gracias a la notebook IPython y rmagic / rpy2: no puedo encontrar el módulo ri2py (OSX 10.8.5, python 2.7, R 3.1) )
Estoy tratando de instalar rpy2 en mi computadora, pero no pude hacerlo.
Descargué el paquete fuente e intenté instalar Rpy2 (rpy2-2.3.2) usando el comando python setup.py install
. Este es el resultado:
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
También probé con build install
y easy_install
sin éxito. Tengo R 2.15.2, Python 2.7.2 y Windows 7 (32 bits).
¿Qué estoy haciendo mal?
PS.si pego ese comando, el resultado es:
advertencia 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
DE ACUERDO. Según la experiencia anterior, no hay muchas instrucciones sobre cómo instalar rpy2 en Windows. Entiendo que no tiene soporte oficial, pero en realidad no es tan difícil. En unos pocos pasos mostraré lo que hice y tal vez otros puedan seguirlo.
Estas instrucciones probablemente solo funcionarán para Python 2.7+ y R 3.2+ pero probablemente funcionarán para R 3.0+. Estoy poniendo los caminos que he usado en mi sistema. Asegúrese de modificar las rutas en consecuencia:
Primero, asegúrese de que las instalaciones de rpy2 anteriores estén DESINSTALADAS antes de intentar estos pasos (y obviamente tienen R 3.2+ antes de instalar).
- Descargue el archivo .whl para r2py desde here
- Instale el archivo .whl usando
pip install [put .whl filename here]
(en la línea de comandos) desde el directorio donde se descargó el archivo - Agregue una ruta similar a
C:/Program Files/R/R-3.2.0/bin
a su variable de entorno PATH - Cree una variable de sistema
R_HOME
con un valor similar a:C:/Program Files/R/R-3.2.0
- Crea una variable de sistema
R_USER
con tu nombre de usuario - Cree una variable de sistema
R_LIBS_USER
con una ruta a la carpeta donde se instalarán los paquetes R externos.
Eso es. Abra un indicador de comando e ingrese el comando R
Esto debería iniciar una sesión R y mostrar información de la versión.
Ahora abre Python y ejecuta esta línea para ver si las cosas funcionaron o no:
import rpy2.robjects as robjects
Esperemos que esto ayude.
Echa un vistazo a este documento de instalación que hice sobre este problema. https://www.academia.edu/12178754/rpy2Install
Es un directorio específico para una configuración de ArcGIS, pero rápido de portar
El script de instalación setup.py
indica que se resolvió un problema al ejecutar
"C:/PROGRA~1/R/R-215~1.2/bin/R" CMD config --ldflags
Abra un terminal, pegue ese comando, verifique cuál es el error.
A medida que edita la pregunta con la salida, el problema parece ser que, al ejecutar ese comando como un subproceso desde python setup.py install
una cadena vacía mientras que al ejecutar el comando desde un terminal hay una salida. También estoy leyendo en la salida del terminal que cygwin está involucrado. Tal vez éste es el problema ?
En Anaconda, puedes instalar usando:
conda install --channel https://conda.anaconda.org/Richarizardd rpy2
Alternativamente, se puede probar:
conda install -c r rpy2
También se puede referir:
https://github.com/conda-forge/rpy2-feedstock
En general, tampoco tuve éxito al hacer que Rpy2 funcionara en Windows. Después de algunas horas de piratear con R2.15 y Rpy2 desde el binario here , seguí esta pregunta e instalé pyper . Tal vez esto funcione para usted hasta que el soporte esté allí. Por mi parte, me encantaría ver Rpy2 en Windows y en el portátil IPython (% load_ext rmagic), pero simplemente no podría pasar más tiempo con él.
Siguiendo las respuestas anteriores, esto es lo que me funciona.
Sistema: Win 7-64, Python 3.6,
1. Instala R y los paquetes que necesites.
2. Establecer R_HOME
y R_USER
, como variable de entorno
R_HOME = D:/Program Files/R/R-3.4.1
R_USER = Administrator
El nombre de usuario se puede obtener con echo %username%
en cmd
3. Descarga rpy2
e instálalo
Descargue rpy2 desde here
Compruebe su ruta e instálela en cmd como pip install rpy2-2.8.6-cp36-cp36m-win_amd64.whl
4. Crea un cuaderno y ve si funciona.
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)
'''''')
EDITAR Finalmente me las arreglé para hacerlo funcionar !!! Vea abajo:
Me he estado golpeando la cabeza para hacer que esto funcione y todavía no lo he descubierto por completo. Lo que he descubierto es que el error
''sh'' no se reconoce como un comando interno o externo, un programa operable o un archivo por lotes
es causado por la ausencia de mingw y Rtools (y otros programas auxiliares de tipo Unix). ( http://sourceforge.net/p/rpy/mailman/message/26549197/ )
Pasé esta etapa instalando Rtools ( http://cran.r-project.org/bin/windows/Rtools/ ) y mingw ( http://sourceforge.net/projects/mingw-w64/ ) (Pero desde el El proyecto mingw-w64 en sourceforge.net se está moviendo a mingw-w64.org, sugiero usar mingw-w64.org )
Fui pasado el error de configuración de CMD R.exe --ldflags pero me quedé atascado con
TypeError: el objeto de tipo ''NoneType'' no tiene len ()
error. Todavía estoy buscando una solución !!
Espero que esto ayude a alguien en algún momento.
ACTUALIZACIÓN: Parece que hay algunos problemas asociados con la instalación. El archivo setup.py no puede encontrar la versión correcta de R y los compiladores tienen problemas.
Por lo tanto, la forma de proceder:
- Descargue el código fuente de https://pypi.python.org/pypi/rpy2 .
- Actualice sus variables de entorno - En las variables de usuario
- RUTA: agregue la ruta a su instalación de R, por ejemplo, C: / Archivos de programa / R / R-R 3.0.2 / bin / x64
- R_HOME: una nueva variable con ruta a R: C: / Archivos de programa / R / R-3.0.2
- R_USER: nombre de usuario de usuario, por ejemplo, john
- Instale Rtools ( http://cran.r-project.org/bin/windows/Rtools/ ) y mingw ( http://mingw-w64.org )
alrededor de la línea 123 antes
return self._version Agregué self._version = [3, 0] para forzar que la versión sea 3.0 (puede ser que alguien pueda resolverlo mejor)
En el archivo unixccompiler.py en python27 / lib / distutils o en mi caso C: / Users (user_name) / AppData / Local / Continuum / Anaconda / Lib / distutils línea de comentarios 227
compiler = os.path.basename (sysconfig.get_config_var ("CC")) con # (#compiler = os.path.basename (sysconfig.get_config_var ("CC")))
y añadir linea
compilador = ''gcc''
Algunas otras cosas: use el símbolo del sistema cmd para instalar. Utilizar
python setup.py build install
Instale Rtools y mingw aceptando todos los valores predeterminados. En Rtools selecciona el
extra para construir 64 bit R
y
editar el sistema PATH
¡¡Eso es!! Lo tengo para trabajar ..
¡¡Espero que esto ayude!!
No estoy seguro de si alguien sigue la discusión pero, en cualquier caso, mi objetivo al tratar de hacer que rpy2 funcione es para poder hacerlo funcionar en mis cuadernos Ipython. Si alguien más está tratando de hacer lo mismo, sugeriría usar IRkernel que se instala sin problemas como un pastel (pastel bien hecho). Aquí están los recursos para hacerlo. Lo he usado y funciona como un amuleto.
Básicamente lo que necesitas para ejecutar es esto:
install.packages(c(''rzmq'',''repr'',''IRkernel'',''IRdisplay''),repos = c(''http://irkernel.github.io/'', getOption(''repos'')))
IRkernel::installspec()
Aquí están los recursos si encuentra algún problema:
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