Mac环境下Sage Worksheet中Jupyter Notebook IOPub数据速率超限求助
解决Sage Worksheet中IOPub数据速率超限问题
之前方案失败的原因
- 在Jupyter单元格内执行
jupyter notebook --NotebookApp.iopub_data_rate_limit=1.0e10是错误操作,该命令是终端启动指令,不能在Notebook运行 - 终端提示
jupyter-lab找不到,是因为你未调用Sage自带的Jupyter环境,普通jupyter命令无法识别
方案1:启动Sage Jupyter时直接指定速率限制
- 关闭当前运行的Sage Worksheet
- 打开Mac终端,执行以下命令:
sage -n jupyter --ServerApp.iopub_data_rate_limit=10000000000 --ServerApp.rate_limit_window=10.0
(说明:1.0e10等价于10000000000,直接写整数更稳妥;调大rate_limit_window可降低触发限制的概率)
方案2:配置永久生效的参数
- 终端执行命令获取Sage的Jupyter配置目录:
sage -c "from jupyter_core.paths import jupyter_config_dir; print(jupyter_config_dir())"
- 复制输出的路径(如
~/Library/Jupyter),按下Cmd+Shift+G打开Finder路径跳转窗口,粘贴路径回车进入 - 在该目录下创建(若不存在)
jupyter_server_config.py文件,写入内容:
c.ServerApp.iopub_data_rate_limit = 10000000000 c.ServerApp.rate_limit_window = 10.0
- 保存文件后重启Sage Worksheet,配置永久生效
方案3:修改代码输出逻辑(无需改配置)
如果只是单次运行需要大量输出,可将多次print合并为一次输出:
# 初始化缓冲区存储输出内容 output_buffer = [] # 替换原代码中的print(variable)为: output_buffer.append(str(variable)) # 所有数据处理完成后,一次性输出 print('\n'.join(output_buffer))
这种方式避免频繁小输出触发速率限制
内容的提问来源于stack exchange,提问作者ness
相关产品推荐
相关产品推荐

