问题描述
每当在 Jupyter 笔记本中加载 rpy2 时,使用 %%R
单元魔术执行的 R 代码都会在命令提示符而不是笔记本单元中打印。不过,绘图会在笔记本中正确显示。
我还注意到 %R
内联魔法正常工作,代码按预期打印在单元格中。
安装步骤
- Python 2.7.11::Anaconda 2.5.0(64 位)
- 笔记本4.1.0通过pip安装
- R 3.3.1 (x64) 位于程序文件中
- rpy2-2.7.8-cp27-none-win_amd64.whl通过 pip 安装
- 路径:
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
最佳答案
您可以使用 RWinOut木星扩展。以下安装说明摘自 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 notebook。如果您必须将大量 R 和 Python 包重新安装到不同的环境中,这可能是不可取的,但可以做到这一点,因此输出将正确打印,而不需要这种棘手的解决方法。
关于python - Jupyter + rpy2 输出到命令提示符而不是笔记本单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38438931/