【问题标题】:Jupyter + rpy2 outputs to command prompt instead of notebook cellJupyter + rpy2 输出到命令提示符而不是笔记本单元格
【发布时间】:2016-11-21 04:35:56
【问题描述】:

问题描述

每当在 Jupyter 笔记本中加载 rpy2 时,使用 %%Rcell 魔法执行的 R 代码会打印在命令提示符而不是笔记本单元格中。不过,图表会正确显示在笔记本中。

我还注意到%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. 路径:
    • 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 的问题。
  • 我调用%load_ext rpy2.ipython,然后在单元格顶部添加%%R
  • 是的,这就是我所做的,它对我有用。您可以尝试在 rpy2 的 bitbucket 网站上提交错误报告
  • 你解决了吗?
  • 很遗憾,没有...

标签: python r jupyter jupyter-notebook rpy2


【解决方案1】:

您可以使用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 包重新安装到不同的环境中,这可能是不可取的,但这样做可以使输出正确打印,而无需这种 hacky 解决方法。

【讨论】:

  • 在 Windows 中运行 Linux 可能是长期解决方案。 rpy2 的开发版(未来的 rpy2-3.1.0)有 Windows 的暂定初始化代码,但据我所知,它没有经过任何人的测试。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-19
  • 2020-10-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多