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

时间:2016-07-18 14:11:24

标签: python r jupyter jupyter-notebook rpy2

问题描述

每当在Jupyter笔记本中加载rpy2时,使用%%R单元格魔术执行的R代码将在命令提示符而不是笔记本单元格中打印。虽然情节在笔记本中正确显示。

enter image description here

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

安装步骤

  1. Python 2.7.11 :: Anaconda 2.5.0(64位)
  2. 笔记本4.1.0通过pip安装
  3. 位于程序文件中的R 3.3.1(x64)
  4. rpy2-2.7.8-cp27-none-win_amd64.whl通过pip
  5. 安装
  6. 路径:
    • 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

1 个答案:

答案 0 :(得分:0)

您可以使用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内部版本17763.503
  • Python 3.7.2
  • R 3.6.0
  • rpy2 2.9.5

另一个选择是使用Windows Subsystem for Linux并从那里启动Jupyter笔记本。如果您必须将许多R和Python软件包重新安装到不同的环境中,则可能不希望这样做,但是这样做可以使输出正确打印,而无需使用这种棘手的解决方法。