Jupyter Notebook:在运行中的笔记本内修改IOPub数据速率限制
解决Jupyter Notebook中IOPub数据速率限制的动态修改方法
当然有办法在笔记本内部直接调整这个限制,不需要依赖命令行参数或者修改全局配置文件!你可以在笔记本的第一个单元格里执行以下代码,动态修改当前运行的Notebook服务器的IOPub数据速率限制:
from notebook.notebookapp import NotebookApp # 获取当前运行的NotebookApp实例 app = NotebookApp.instance() # 将数据速率限制设置为1.0e10(你可以根据实际需求调整这个数值) app.iopub_data_rate_limit = 1.0e10
额外说明:
- 务必在输出大量数据前运行这段代码,这样修改才能及时生效;
- 如果你的Jupyter版本比较旧,上面的代码可能需要微调,可以尝试通过配置字典更新并重新加载:
from notebook.notebookapp import NotebookApp app = NotebookApp.instance() # 更新配置项 app.config['NotebookApp']['iopub_data_rate_limit'] = 1.0e10 # 重新加载配置(部分旧版本需要这一步) app.load_config_file()
临时规避方案(如果动态修改无效):
要是上面的方法没起作用,你还可以通过减少单次输出的数据量来绕过限制:
- 分块打印大对象,比如循环输出列表的片段而非整个列表;
- 使用
print()语句代替直接输出大变量(直接输出变量会触发更复杂的序列化操作,产生更多IOPub数据)。
内容的提问来源于stack exchange,提问作者Pylander
相关产品推荐
相关产品推荐

