如何在Azure笔记本中使用rmagic?

时间:2016-08-31 16:01:39

标签: python r azure jupyter

我正在尝试从R片段中获取一些数据到Azure Python 3 Jupyter笔记本(托管在http://notebooks.azure.com免费提供)。

我在Python 3笔记本中尝试了以下内容:

%load_ext rmagic

然后试图嵌入R:

%%R -o x
x <- 1

然后

x

我在这里得到Python错误:name 'x' is not defined - 请参见下图。将R嵌入Python 3并使用Azure笔记本交换数据的正确方法是什么?

Azure Notebooks http://nogin.info/R2Py.png

1 个答案:

答案 0 :(得分:3)

@DmitryNogin,我成功地复制了这个问题。根据{{​​3}}下面的描述,您现在需要在jupyter笔记本中使用%load_ext rpy2.ipython代替%load_ext rmagic

  

rmagic扩展已作为rpy2.interactive.ipython移至rpy2。

但是,当我在笔记本中尝试%load_ext rpy2.ipython时,我遇到了一些其他错误。

ImportError: libRblas.so: cannot open shared object file: No such file or directory

我搜索了一个解决方案,该解决方案需要在Azure笔记本服务器上使用LD_LIBRARY_PATH(我通过命令export LD_LIBRARY_PATH=/usr/lib64/MR0-3.3.0/R-3.3.0/lib/R/lib找到的路径值)设置环境变量which R。但是,主机Ubuntu操作系统未安装vivim且我不知道终端中sudo的{​​{1}}密码,因此尽管解决方案可行对于笔记本服务器终端中的ipython,它不能让jupyter工作。

我的最终解决方案是使用笔记本电脑服务器的终端命令nbuser

然后,当您输入ln -s /usr/lib64/MR0-3.3.0/R-3.3.0/lib/R/lib/* ~/anaconda3_410/lib/时,您将收到错误%load_ext rpy2.ipython。您只需输入ImportError ..../libreadline.so.6: undefined symbol: PC即可在import readline之前解决问题。

最后,您可以为%load_ext rpy2.ipython加载rpy2.ipython并提供一些警告信息。

here

希望它有所帮助。