【发布时间】:2020-05-24 12:56:04
【问题描述】:
我已经在 jupyter 单元的输出中看到了几个 streamz 的案例以及简单的代码更新,但是当我自己尝试这个时,除非我运行一个循环或连续按 Ctrl-Enter 来更新,否则我只会得到一个值输出.最简单的例子就是单元格中的一行代码:
psutil.cpu_percent()
我已经看到视频和 GIF 显示输出不断更新,显然没有额外的魔法或其他特殊设置,我希望看到我在 jupyter 实验室中的单元以同样的方式更新。我究竟做错了什么?
更多背景:这始于我开始尝试复制 Matthew Rocklin 的 Streaming Dataframes 中的 streamz 示例。我尝试了以下代码:
source = Random(freq='5ms', interval='100ms')
source.x.sum()
在“Jupyter 集成和流输出”下的链接中查看页面中间的示例,您就会明白我的意思。在示例中,此代码在单元格下方生成一个不断更新的输出,但是当我尝试它时,它只提供一个值,只有在我再次运行单元格时才会更新。由于这并没有像宣传的那样工作,我尝试了我在 psutil 中看到的另一个示例,但这也不起作用。所以我认为我的 jupyter 设置一定有问题,但我不知道它可能是什么。再一次,我意识到我可以使用循环来复制这种行为,但我想了解我做错了什么以防止它像所示的那样简单地工作。
【问题讨论】:
-
您能否更具体地说明您要更新的内容?也许您可以创建一个执行更新的无限循环。
-
此时我只是想向自己证明,我可以在 jupyter 中获取一个单元格来输出不断更新的信息。在我看到的示例中,仅包含
psutil.cpu_percent()的单元格的输出显示了一个不断变化的值,显示了当前的 cpu 使用情况。当我尝试复制它时,输出会显示一个不会更新的静态值,除非我创建这样的循环或反复按 Ctrl-Enter。 -
psutil.readthedocs.io/en/latest/…,你可以尝试设置间隔。
-
我通过将我的一行代码更改为
psutil.cpu_percent(interval=1)进行了尝试,但行为没有改变。
标签: python output jupyter live psutil