2012-10-02 50 views
11

No puedo ejecutar rpy2 en python.Cómo configurar la variable de entorno R_user para usar rpy2 en python

con este código

import rpy2.robjects as robjects 

He aquí las excepciones completos:


RuntimeError: R_USER no definido.

Archivo "d: \ py \ r \ r.python.py", línea 1, en

import rpy2.robjects as robjects 

File "c:\Python27\Lib\site-packages\rpy2\robjects\__init__.py", line 17, in <module> 
    from rpy2.robjects.robject import RObjectMixin, RObject 

File "c:\Python27\Lib\site-packages\rpy2\robjects\robject.py", line 5, in <module> 
    rpy2.rinterface.initr() 

estoy usando Windows XP Win32 Acá mis lugares:

C:\Python27\Lib\site-packages\rpy2\robjects\robject.py 

C:\Program Files\R\R-2.15.0\bin\i386\R.exe 

C:\Python27\python.exe 

Respuesta

7

OH, nvm .. He solucionado esto ... así es como lo hice, solo en caso de que alguien tenga el mismo problema. tengo que especificar PYTHONPATH rpy2.robjects ubicación almacenados

Aquí está en los detalles: Mi PC> Propiedades del sistema> Avanzado> Variables de entorno:

En variables del sistema crear o editar su

Variable name : PYTHONPATH 

Variable value : C:\Python27\Lib\site-packages\rpy2;C:\Program Files\R\R-2.15.0\bin\i386;C:\Python27\Lib\site-packages\rpy2\robjects 

Esto debería funcionar, disfrutar.

+0

Por favor, ¿podría medida su respuesta? No puedo entender qué significa 'ubicación rpy2.robjects almacenada' – joaquin

+0

Esto me consiguió trabajando en PyCharm CE. Agregar variables R_USER no fue de ayuda, así que las quité de nuevo y dejé que R se pusiera en sus valores predeterminados. –

14

Aquí es la forma en que fijo mi R versión 3.0.2 paquete versión pitón plataforma 2,7 ipython portátil.

Cambiar ruta para R por computadora> propiedades -> configuración avanzada y el sistema -> variables de entorno

en el campo variable de usuario añadir C:\Program Files\R\R-3.0.2\bin\x64 (mi sistema es Windows de 64 bits) a ruta

en la variable de sistema campo de añadir dos nuevas variables

R_HOME c:\program files\r\r-3.0.2

R_USER C:\Users\"your user name"\Anaconda\Lib\site-packages\rpy2

+2

Para mí estaba teniendo este problema y para solucionarlo necesitaba establecer la variable R_USER tanto para el sistema como para las variables de usuario (usando la misma computadora -> propiedad -> avanzada y configuración del sistema -> método de variables de entorno). Simplemente lo configuré en C: \ Users \ MyUsername – Brandon

+1

Hola, lo hice y funcionó. Sin embargo, cuando ejecuto Rstudio, obtengo errores de ruta 'El sistema no puede encontrar la ruta especificada' ¿Alguna idea de cómo solucionar esto? gracias –

+0

¡Esto funcionó para mí! Gracias. Solo quería agregar eso, puede que necesite ubicar/explorar la ubicación de su paquete 'rpy2' para especificar la ruta correcta para R_USER. Si ingresa la ruta como se muestra arriba, y 'rpy2' no está ubicado allí, no verá ningún mensaje de error en Configuración avanzada del sistema. Y el R_USER RunTimeError persistiría. Para mí, el paquete 'rpy2' instalado se encontraba aquí: C: \ Users \ {mi_nombredeusuario} \ Anaconda2 \ envs \ py36 \ Lib \ site-packages \ rpy2 – Vishal

8

Si quiere usar Python con rpy2 pero también quiere seguir utilizando su RStudio, no olvide agregar RStudio a su ruta también, o obtendrá algunos problemas de ruta.

Puede cambiar sus rutas de acuerdo a @ user3758274:

Change Path for R computer-> property -> advanced and system setting -> environment variables in the user variable field add C:\Program Files\R\R-3.0.2\bin\x64 (my system is windows 64bit) to path

In the system variable field add two new variables

R_HOME c:\program files\r\r-3.0.2 

R_USER C:\Users\"your user name"\Anaconda\Lib\site-packages\rpy2 

Pero luego añadir también rstudio a la variable de sistema R_USER, de manera que obtendrá:

R_USER C:\Program Files\RStudio\bin;C:\Users\"your user name"\Anaconda\Lib\site-packages\rpy2 
5

Por un instante y temporales solución, puede agregar el siguiente código antes de importar rpy2:

import os 
os.environ['R_HOME'] = 'C:/program files/R-3.3.1' 

Una cosa que vale la pena noti ng es que debe usar barra invertida en lugar de barra inclinada en la ruta.

4

Combinando answers from @laven_qa y @user3758274, aquí es lo que funcionó para mí:

# installing steps after downloading .whl from http://www.lfd.uci.edu/~gohlke/pythonlibs/#rpy2 
import pip 
pip.main(["install", "C:/Users/YOUR_USERNAME/Downloads/rpy2-2.8.6-cp36-cp36m-win_amd64.whl"]) # Path to the file that was downloaded from the website above 

# setting temporary PATH variables 
import os 
os.environ['R_HOME'] = 'C:\Program Files\Microsoft\R Open\R-3.4.0' #path to your R installation 
os.environ['R_USER'] = 'C:\ProgramData\Anaconda3\Lib\site-packages\rpy2' #path depends on where you installed Python. Mine is the Anaconda distribution 

# importing rpy2 
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) 
     ''') 

# returns : 
> R object with classes: ('numeric',) mapped to: 
> <FloatVector - Python:0x000000000C260508/R:0x000000000F2872E8> 
> [18.849556] 
Cuestiones relacionadas