直接修改 jupyter 配置文件中的 iopub_data_rate_limit 参数即可解决输出限速问题:先运行 jupyter notebook --generate-config 生成配置文件,再将 c.notebookapp.iopub_data_rate_limit = 1000000000(单位 bytes/sec)取消注释并设为 1 gb/s,最后彻底重启 jupyter 进程生效。

直接改配置就行,不是代码或内存问题,是 Jupyter 默认输出限速太严。
怎么找到并修改 jupyter_notebook_config.py
这个文件不一定存在,得先生成:
- 在终端(Windows 用 Anaconda Prompt,macOS/Linux 用 shell)运行
jupyter notebook --generate-config - 命令会输出类似
Writing default config to: /Users/xxx/.jupyter/jupyter_notebook_config.py的路径 - 按路径打开该文件,用任意文本编辑器(VS Code、Notepad++、记事本都行)
- 搜索
iopub_data_rate_limit—— 默认这行是注释状态,形如#c.NotebookApp.iopub_data_rate_limit = 1000000.0
为什么设成 1000000000 而不是随便加零
单位是 bytes/sec,原值 1000000.0 ≈ 1 MB/s,对 pandas 输出大 DataFrame 或 print 大列表很容易触发。设成 1000000000(1 GB/s)基本够用,且不会因数值过大导致意外行为:
- 不要写成
1e9—— 某些旧版本解析失败,坚持用整数形式1000000000 - 别动
rate_limit_window(默认3.0秒),它只是统计窗口,单独调大会让限速逻辑变松散,不解决根本问题 - 如果改完仍报错,检查是否漏掉了开头的
c.前缀,或整行仍被#注释着
改完配置后必须重启 Jupyter 才生效
不是刷新网页,也不是 kernel restart,而是彻底关掉当前 Jupyter 进程,再重新启动:
- Ctrl+C 停掉终端里正在运行的
jupyter notebook - 确认进程已退出(Windows 可查任务管理器,macOS/Linux 可
ps aux | grep jupyter) - 再执行
jupyter notebook启动 —— 此时新配置才加载 - 验证方式:运行一段输出密集的代码,比如
print(list(range(100000))),不再卡住或报错即成功
真正容易被忽略的是:改完配置没关进程重开,或者复制粘贴时把 c. 丢了,结果白改。这个限制只作用于 notebook 前端通信,和你本地内存、Python 版本、pandas 版本都没关系,纯属 Jupyter 自身的流控策略。











