Использование rpy2 для встроенного rmagic с jupyter notebook

#python #r #anaconda #jupyter-notebook #rpy2

#python #r #анаконда #jupyter-notebook #rpy2

Вопрос:

Я пытаюсь использовать встроенный rmagic с jupyter notebook, но мне было очень сложно заставить его работать.

Всякий раз, когда я пытаюсь загрузить %load_ext rpy2.ipython , я получаю следующую ошибку:

 ImportError: dlopen(/Users/MyName/anaconda/lib/python2.7/site
   packages/rpy2/rinterface/_rinterface.so, 2): Library not loaded: liblzma.5.dylib
   Referenced from: /Users/MyName/anaconda/lib/python2.7/site-
   packages/rpy2/rinterface/_rinterface.so
   Reason: image not found
  

Я попытался установить его с pip помощью, попытался установить его с conda install -c r rpy2 помощью.

Помимо этой проблемы с rpy2, я смог настроить R и Jupyter notebook, чтобы я мог создать новый ноутбук с помощью R, так что, похоже, это не проблема связи R / Jupyter.

Я запускаю:

 OS X (El Capitan)
Python 2.7.12 :: Anaconda 4.1.1 (x86_64)
R version 3.3.1 (2016-06-21) (located as in /Users/myName/anaconda/bin)
rpy2 2.8.3 (located in /Users/myName/anaconda/lib/python2.7/site-packages/)
  

Есть ли какой-нибудь способ начать rpy2 работать с Jupyter notebook в наши дни?

Ответ №1:

Для меня это выглядит как проблема conda (lzma присутствует во время сборки, но отсутствует во время выполнения).

Есть ли какой-либо способ заставить rpy2 работать с Jupyter notebook в наши дни?

Вероятно, более одного способа добиться этого, но контейнер docker, упомянутый на первой странице (http://rpy2.bitbucket.org /) собирает все части вместе за один шаг.

Ответ №2:

Я смог заставить это работать, переустановив anaconda и установив rpy2 через conda:

 conda install rpy2
  

Это приведет к установке R и множеству зависимостей для anaconda. Используйте это R , а не систему R . После PATH установки anaconda должно автоматически обновляться, но на всякий случай обязательно добавьте anaconda:

 setenv PATH /Users/myName/anaconda2/bin:$PATH
  

Важно rpy2 иметь возможность найти Renviron файл, который должен быть недавно установлен в anaconda. Я нашел свой здесь (я только что искал его с помощью spotlight):

 /Users/myName/anaconda2/lib/R/
  

который я затем превратил в R_HOME переменную, которую rpy2 требуется найти Renviron . Я также указал свое имя пользователя:

 setenv R_HOME /Users/myName/anaconda2/lib/R/
setenv R_USER myName
  

(обратите внимание, что which R это вернет /Users/myName/anaconda2/bin/R/ , но это НЕ R_HOME ТАК . Это сбивало меня с толку целую вечность).