朱庇特笔记本电脑的 IOPub 数据速率超标(查看图像时)

我想在 Jupyter 笔记本上查看一张图片,它是一个9.9 MB 的 png 文件。

from IPython.display import Image
Image(filename='path_to_image/image.png')

我得到以下错误:

IOPub data rate exceeded.
The notebook server will temporarily stop sending output
to the client in order to avoid crashing it.

有点出乎意料,还有 其他地方报道的

这是预期的吗? 是否有一个简单的解决方案?

(错误 msg 建议改变 --NotebookApp.iopub_data_rate_limit的限制。)

339454 次浏览

我用 networkxbokeh碰到了这个

这对我在 Windows7(从这里带走)中很有用:

  1. 要创建一个注释掉所有缺省值的 jupyter _ book _ config.py 文件,可以使用以下命令行:

    $ jupyter notebook --generate-config

  2. 打开文件并搜索 c.NotebookApp.iopub_data_rate_limit

  3. 注释掉第 c.NotebookApp.iopub_data_rate_limit = 1000000行,并将其改为更高的默认速率

这个无情的默认配置在很多地方都出现了:

看起来可以用 5.1 release来解决

更新:

木星笔记本现在是在 释放 5.2.2。这个问题应该是 解决了。升级使用 conda 或 pip。

试试这个:

jupyter notebook --NotebookApp.iopub_data_rate_limit=1.0e10

或者这样:

yourTerminal:prompt> jupyter notebook --NotebookApp.iopub_data_rate_limit=1.0e10

通过键入 Anaconda PowerShell或提示 'jupyter notebook --NotebookApp.iopub_data_rate_limit=1.0e10',木星笔记本电脑将打开与新的配置。现在尝试运行您的查询。

对 Windows (10)用户的一些附加建议:

  1. 如果您是第一次使用 Anaconda Prompt/PowerShell,请在 Windows 任务栏的 搜索区中键入“ Anaconda”,您将看到建议的软件。
  2. 确保以 管理人打开 Anaconda 提示符。
  3. 在运行该命令之前,总是先导航到 你的用户目录或者带有 Jupiter 笔记本文件的目录。否则,您可能最终会出现在系统文件中的某个地方,并被不熟悉的文件树所迷惑。

在我自己的 Windows 10电脑上使用 Anaconda 提示符打开 Jupiter 笔记本的正确方法是:

(base) C:\Users\mobarget\Google Drive\Jupyter Notebook>jupyter notebook --NotebookApp.iopub_data_rate_limit=1.0e10

Removing print statements can also fix the problem.

除了加载图像之外,当代码以很高的速率连续打印时,也会发生这种错误,从而导致错误“ IOPub 数据速率超过”。例如,如果在 for 循环中有一个 print 语句,它被调用了1000多次。

对于已经运行的 docker 容器,请尝试编辑文件名 -~/.jupyter/jupyter_notebook_config.py 取消注释行 -NotebookApp.iopub_data_rate_limit = 把数字调高,比如1e10。 重启码头,应该能解决问题

我在运行版本6.3.0时遇到了这个问题。当我尝试 Merlin 的顶级解决方案时,powershell 提示通知我 iopub _ data _ rate _ limit 已经从 NotebookApp 移动到 ServerApp。该解决方案仍然有效,但希望提到变化,特别是在配置的内部处理可能变得不适用的情况下。

简单的解决方法是创建一个 for 循环并打印。那就没问题了。直接打印会导致图形过大。因此,下面的任何代码都可以作为工作区。

Wcc = list (nx.sofly _ connect _ Component (train _ graph)) 对于范围(1,10)内的 i: 列印(wcc [ i ])

在 wcc 中的 i) : 打印(wcc)

通过使用 Visual Studio Code,Jupiter 扩展将能够处理大数据

正如其他人指出的那样,高速打印语句会导致这种情况。通过使用 if 语句打印 modulo数字来解决这个问题。Python 中的示例:

k = 10
if (i % k == 0):
print("Something")

如果警告仍然存在,则增加 k

通常,尝试打印太长的内容会触发此错误。我试图打印一个长度为9221593个字符(太长)的字符串,这触发了错误。

当我从 MySQL 数据库查询时,我在 Win 10上的 Jupiter NB 也有同样的问题。

删除所有打印语句解决了我的问题。