在 jupyter notebook 中使用 rpy2 进行内联 rmagic

Using rpy2 for inline rmagic with jupyter notebook

我正在尝试将内联 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 创建一个新的 notebook,所以它似乎不是一个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 吗?

这对我来说像是一个 conda 问题(lzma 在构建时出现,但在 运行 时丢失)。

Is there any way to get rpy2 to work with Jupyter notebook these days?

实现它的方法可能不止一种,但首页 (http://rpy2.bitbucket.org/) 中提到的 docker 容器一步到位。

我能够通过重新安装 anaconda 并通过 conda 安装 rpy2 来让它工作:

conda install rpy2

这将为 anaconda 安装 R 和许多依赖项。使用此 R 而不是系统 RPATH 应该在安装 anaconda 后自动更新,但为了以防万一,请确保在前面添加 anaconda:

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

关键 rpy2 能够找到 Renviron 文件,该文件应该是新安装在 anaconda 中的。我在这里找到了我的(我只是使用聚光灯搜索它):

/Users/myName/anaconda2/lib/R/

然后我将其制作成 R_HOME 变量,rpy2 需要找到 Renviron。我还指定了我的用户名:

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

(请注意 which R 将 return /Users/myName/anaconda2/bin/R/,但这不是 R_HOME。这让我很困惑。