Как правильно настроить rpy2? - PullRequest
2 голосов
/ 05 мая 2020

Я безуспешно пытаюсь запустить rpy2. После установки R и rpy2 я попытался протестировать rpy2, как указано в документации rp2:

из IDLE:

import rpy2.situation
for row in rpy2.situation.iter_info():
    print(row)

Я получаю следующий результат:

rpy2 version:
3.3.2
Python version:
3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 22:45:29) [MSC v.1916 32 bit (Intel)]
Looking for R's HOME:
    Environment variable R_HOME: None
    InstallPath in the registry: C:\Program Files\R\R-4.0.0
    Environment variable R_USER: None
    Environment variable R_LIBS_USER: None
R version:
    In the PATH: None
    Loading R library from rpy2: cannot load library 'C:\Program Files\R\R-4.0.0\bin\x64\R.dll': error 0xc1
Additional directories to load R packages from:
None

Я установил переменные среды, которые не были найдены, как указано в выходных данных, потому что я подумал, что, возможно, проблема заключается в месте установки R, но это все равно не работает. Я также искал решения для ошибки R.dll или ошибок файлов dll в целом.

Заранее спасибо!

Ответы [ 3 ]

2 голосов
/ 20 июля 2020

Вы можете использовать интеграцию интерфейса R с Python через среду conda или образ docker. Хотя подход Docker проще в настройке, подход conda в основном потому, что он позволяет вам управлять разными средами, в данном случае с R и Python.

1. Использование rpy2 с Docker Image

После установки Docker Desktop в вашей системе, перейдите по этой ссылке . Вы можете использовать изображение datasciencenotebook от Jupyter. Просто введите на своем терминале

docker run -it -e GRANT_SUDO=yes --user root --rm -p 8888:8888 -p 4040:4040 -v D:/:/home/jovyan/work jupyter/datascience-notebook

, если эта команда запускается впервые, она сначала получит изображение docker. Обратите внимание, что мы монтируем локальный каталог D:/ как том в контейнер docker. Чтобы разрешить это, включите общий доступ к файлам внутри Docker Настройки рабочего стола, см. Изображение ниже

enter image description here Then, in a Jupyter Notebook cell just type import rpy2, rpy2 comes by default with this image.

enter image description here

2. Using rpy2 with Anaconda Environment

After succesfully установка дистрибутива Anaconda , откройте приглашение Anaconda и создают новую среду conda , в данном случае я называю ее средой rpy2.

conda create -n rpy2-env r-essentials r-base python=3.7

Обратите внимание, что я включаю R и Python 3.7 для этой среды. На момент написания rpy2 еще не совместим с последней версией python. Затем активируйте свою среду и установите rpy2 .

enter image description here

Now, you can use rpy2 by typing python or ipython on the terminal or through a Jupyter Notebook.

введите описание изображения здесь

3. Установка пакетов R (необязательно)

Кроме того, если вам нужно установить пакеты R, вы можете ввести в терминале

R -e install.packages("package_name")

или внутри Jupyter Notebook

import rpy2.robjects.packages as rpackages
from rpy2.robjects.vectors import StrVector

# Choosing a CRAN Mirror
utils = rpackages.importr('utils')
utils.chooseCRANmirror(ind=1)

# Installing required packages
packages = ('ggplot', 'stats')
utils.install_packages(StrVector(packages))
0 голосов
/ 20 июля 2020

Вам просто нужно добавить расположение библиотеки R.dll (x64 или i386, в зависимости от того, используете ли вы python 32 или 64) в путь.

Из полученной вами ошибки это находится в ваш случай: C:/Program Files/R/R-4.0.0/bin/x64

Это обычная проблема , наблюдаемая с другими библиотеками , и решение простое:

import os
os.environ['PATH'] = 'C:/Program Files/R/R-4.0.0/bin/x64' + os.pathsep + os.environ.get('PATH', '')
import rpy2.situation
for row in rpy2.situation.iter_info():print(row)

rpy2 version:
3.3.5
Python version:
3.7.4 (default, Aug  9 2019, 18:34:13) [MSC v.1915 64 bit (AMD64)]
Looking for R's HOME:
    Environment variable R_HOME: None
    InstallPath in the registry: C:\Program Files\R\R-4.0.0
    Environment variable R_USER: None
    Environment variable R_LIBS_USER: None
R version:
    In the PATH: 
    Loading R library from rpy2: OK
Additional directories to load R packages from:
None
0 голосов
/ 19 июля 2020

Кажется, что ваша Python версия 32-битная, а версия R 64-битная. Попробуйте создать ссылку на R в папке bin\i386 вместо bin\x64.

...