2012-10-02 15 views
11

Tôi không thể chạy rpy2 trong python.Cách thiết lập biến môi trường R_user để sử dụng rpy2 trong python

với mã này

import rpy2.robjects as robjects 

Dưới đây là toàn bộ trường hợp ngoại lệ:


RuntimeError: R_USER không xác định.

File "d: \ py \ r \ r.python.py", dòng 1, trong

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() 

Tôi đang sử dụng cửa sổ xp win32 Here're địa điểm của tôi:

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 

Trả lời

7

OH, nvm .. Tôi đã sửa lỗi này .. đây là cách tôi đã làm, chỉ cần bất kỳ ai cũng gặp phải vấn đề tương tự. tôi phải đặt thiết PYTHONPATH để rpy2.robjects vị trí lưu trữ

Dưới đây là chi tiết: My Computer> properties System> Advanced> Environment Variables:

Theo các biến hệ thống tạo hoặc chỉnh sửa của bạn

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 

Điều này sẽ làm việc, tận hưởng.

+0

Xin vui lòng, bạn có thể phạm vi câu trả lời của bạn? Tôi không thể hiểu những gì 'vị trí rpy2.robjects được lưu trữ' có nghĩa là – joaquin

+0

Điều này đã cho tôi làm việc trong PyCharm CE. Việc thêm các biến R_USER không giúp ích gì cho nên tôi lấy chúng ra và để R chuyển sang mặc định của nó. –

2

Đây có thể là những gì được thảo luận trong this rpy2 issue on bitbucket.

+0

liên kết chết, họ đã làm gì? – jxramos

+0

Dự án di chuyển một nhóm "rpy2" trên bitbucket. Tôi đã cập nhật liên kết. Cảm ơn báo cáo. – lgautier

14

Dưới đây là cách tôi cố định R phiên bản gói của tôi 3.0.2 phiên bản python nền tảng 2,7 ipython máy tính xách tay.

Thay đổi đường dẫn cho R dụng vi tính> bất động sản -> thiết lập tiên tiến và hệ thống -> biến môi trường

trong sử dụng lĩnh vực biến thêm C:\Program Files\R\R-3.0.2\bin\x64 (hệ thống của tôi là cửa sổ 64bit) để đường

Trong biến hệ thống lĩnh vực thêm hai biến mới

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

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

+2

Đối với tôi, tôi đã gặp vấn đề này và sửa chữa nó cần thiết để đặt biến R_USER cho cả biến hệ thống và biến người dùng (sử dụng cùng một máy tính -> thuộc tính -> cài đặt nâng cao và hệ thống -> phương pháp biến môi trường). Tôi chỉ cần đặt nó vào C: \ Users \ MyUsername – Brandon

+1

Xin chào, tôi đã làm điều này và làm việc. Tuy nhiên, khi tôi chạy Rstudio, tôi gặp lỗi đường dẫn 'Hệ thống không thể tìm thấy đường dẫn được chỉ định' Bất kỳ ý tưởng nào để sửa lỗi này? thanks –

+0

Điều này làm việc cho tôi! Cảm ơn bạn. Chỉ muốn thêm rằng, bạn có thể cần phải xác định vị trí/duyệt vị trí của gói 'rpy2' của bạn để xác định đường dẫn chính xác cho R_USER. Nếu bạn nhập đường dẫn như được hiển thị ở trên và 'rpy2' không nằm ở đó, bạn sẽ không thấy bất kỳ thông báo lỗi nào trong Cài đặt hệ thống nâng cao. Và R_USER RunTimeError sẽ tồn tại. Đối với tôi, gói 'rpy2' đã cài đặt được đặt ở đây: C: \ Users \ {my_username} \ Anaconda2 \ envs \ py36 \ Lib \ site-packages \ rpy2 – Vishal

8

Nếu bạn muốn sử dụng Python với rpy2 nhưng bạn cũng muốn tiếp tục sử dụng RStudio, đừng quên thêm RStudio vào đường dẫn của bạn, hoặc bạn sẽ gặp một số vấn đề về đường dẫn.

Bạn có thể thay đổi đường dẫn của bạn theo @ 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 

Nhưng sau đó thêm cũng RStudio để biến hệ thống R_USER của bạn, vì vậy bạn sẽ nhận được:

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

Đối ngay lập tức và tạm thời giải pháp, bạn có thể thêm mã sau đây trước khi nhập rpy2:

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

Một điều đáng chú ý ng là bạn nên sử dụng dấu gạch chéo ngược thay vì gạch chéo trong đường dẫn.

4

Kết hợp answers from @laven_qa@user3758274, đây là những gì làm việc cho tôi:

# 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]