【发布时间】:2021-02-23 13:24:56
【问题描述】:
使用 Jupyter Notebook,当我从使用 R 内核的笔记本执行 R 包(在我的情况下为 Climatol)中的函数时,消息会显示为输出,报告正在执行的过程。没什么新鲜的。
使用的代码块是这样的:
library(maps)
library(mapdata)
library(climatol)
# Apply function (from R kernel)
homogen('Vel',2011,2012,tinc='6 hour',expl=TRUE)
现在,使用另一个笔记本中的 Python 内核,当我通过 rpy2 应用相同的参数调用相同的函数时,我没有得到与上一张图片中出现的相同消息。相反,我得到了这个:
这次使用的代码块是这样的:
from rpy2.robjects import r
from rpy2.robjects.packages import importr
importr('maps')
importr('mapdata')
importr('climatol')
# Apply function ( from Python kernel)
r["homogen"]("Vel",2011,2012,tinc="6 hour",expl=r['as.logical']("T"))
我从 Sublime Text 运行了上面提到的 Python 代码,在这种情况下会显示消息:
从 Windows 控制台运行代码时也会显示这些消息,这让我认为缺点是 Jupyter。话虽如此,如何使用 Jupyter 获取这些消息?
我使用的是 Python 3.7,rpy2 的版本是 2.9.4
感谢您的帮助。
【问题讨论】:
-
请发布您的 rpy2 的完整代码块(minimal reproducible example 的行数足够)而不是 images。您是在 Python 2 还是 Python 3 内核中运行?如果您在任何 IDE 之外的命令行上运行
.py脚本会发生什么?如果你把电话放在print(...). -
你好@Parfait。我已根据您的建议编辑了问题。谢谢!
-
Documentation 表示:此函数不返回任何值,其结果将保存到与输入文件具有相同基本名称和扩展名的文件中。因此,即使 Jupyter 屏幕上没有输出呈现,结果是否会保存到外部文件中?
-
你好。是的,输出保存到外部文件,但我需要它们出现在控制台中,因为我需要生成程序报告。
标签: python r jupyter-notebook rpy2