Jupyter + rpy2 输出到命令提示符而非笔记本单元格

9

问题描述

每当在Jupyter notebook中加载rpy2时,使用%%R单元格魔法执行的R代码会打印在命令提示符中而不是notebook单元格中。但图表在notebook中可以正常显示。

enter image description here

我还注意到%R行内魔法工作正常,代码按预期在单元格中打印。

安装步骤

  1. Python 2.7.11 :: Anaconda 2.5.0 (64位)
  2. notebook 4.1.0通过pip安装
  3. R 3.3.1 (x64) 位于Program Files中
  4. rpy2-2.7.8-cp27-none-win_amd64.whl通过pip安装
  5. PATH路径:
    • R_USER = C:\Users\myusername
    • R_HOME = C:\Program Files\R\R-3.3.1
    • 添加了C:\Program Files\R\R-3.3.1\bin\i386

我不知道,对我来说在Mac上运行得很好。你能展示一下你用于激活rmagic的确切命令吗?否则,可能是Windows的问题。 - Noah
我调用 %load_ext rpy2.ipython,然后在单元格顶部添加 %%R - jodoox
1
是的,那就是我所做的,而且对我有效。你可以尝试在rpy2的bitbucket网站上提交错误报告。 - Noah
你解决了吗? - pceccon
很遗憾,没有... - jodoox
参考bug报告页面在这里:https://bitbucket.org/rpy2/rpy2/issues/506/rpy2-cell-magic-on-jupyter-notebook - lgautier
1个回答

2
你可以使用RWinOut Jupyter扩展。以下安装说明摘自GitHub页面:
你可以在Jupyter笔记本单元格中运行以下curl命令,将文件下载到您的工作目录中。您也可以手动下载并将其放在那里。
!curl -O "https://raw.githubusercontent.com/vitorcurtis/RWinOut/master/RWinOut.py"

一旦它在您的工作目录中,您可以将脚本顶部的%load_ext rpy2.ipython替换为%load_ext RWinOut。然后,您应该能够像正常情况下一样查看包含%%R魔法的单元格的输出。 这不是完整的解决方案,但它是一个可能实现相同效果的解决方法。我不确定这是否会破坏某些功能,但对我来说似乎运行得很好。 已测试: - Windows 10 v.1809 Build 17763.503 - Python 3.7.2 - R 3.6.0 - rpy2 2.9.5 另一个选择是使用Windows子系统 for Linux并从那里启动Jupyter笔记本电脑。如果您必须在不同的环境中重新安装许多R和Python软件包,则可能不是理想的选择,但这将使输出正确打印,而无需使用此hacky解决方法。

1
在Windows中运行Linux可能是一个长期的解决方案。rpy2的开发版本(未来的rpy2-3.1.0)具有Windows的初步初始化代码,但据我所知,没有人对其进行过测试。 - lgautier

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接