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

jod*_*oox 6 python r rpy2 jupyter jupyter-notebook

问题说明

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

在此输入图像描述

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

安装步骤

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

Mih*_*aru 2

您可以使用RWinOut Jupyter 扩展。以下安装说明取自 GitHub 页面:

您可以从 Jupyter 笔记本单元运行以下curl命令,将文件下载到您的工作目录。您也可以手动下载并自行放置。

!curl -O "https://raw.githubusercontent.com/vitorcurtis/RWinOut/master/RWinOut.py"
Run Code Online (Sandbox Code Playgroud)

一旦它进入您的工作目录,您可以将%load_ext rpy2.ipython脚本顶部的%load_ext RWinOut. 然后你应该能够%%R正常看到包含魔法的单元格的输出。

这不是一个完整的解决方案,但它是一种可能达到相同效果的解决方法。我不确定这是否会破坏某些功能,但它似乎对我来说工作得很好。

测试用:

  • Windows 10 v.1809 内部版本 17763.503
  • Python 3.7.2
  • 3.6.0
  • rpy2 2.9.5

另一种选择是使用适用于 Linux 的 Windows 子系统并从那里启动 Jupyter 笔记本。如果您必须将大量 R 和 Python 包重新安装到不同的环境中,这可能并不理想,但可以使输出正确打印,而不需要这种棘手的解决方法。