You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Zeppelin导出ipynb至GitHub报错:缺少display_name属性

解决Zeppelin导出ipynb文件的"display_name"缺失问题

问题根源

Zeppelin导出的ipynb文件不符合Jupyter nbformat v5的规范——每个cell必须包含display_name字段(代码cell通常设为"Code",markdown cell设为"Markdown"),而Zeppelin导出时遗漏了这个必填项,导致GitHub和Jupyter都无法识别文件。

修复步骤

1. 手动补全缺失字段

用文本编辑器打开导出的.ipynb文件,找到每个cell的结构,添加对应display_name字段:

{
  "cells": [
    {
      "cell_type": "code",
      "execution_count": null,
      "display_name": "Code", // 代码cell添加这一行
      "metadata": {},
      "outputs": [],
      "source": ["你的代码内容"]
    },
    {
      "cell_type": "markdown",
      "display_name": "Markdown", // Markdown cell添加这一行
      "metadata": {},
      "source": ["你的markdown内容"]
    }
  ],
  // 文件原有其他字段...
}

2. 用nbformat工具自动修复

借助nbformat命令行工具强制将文件转为标准v5格式,自动补全必填元数据:

jupyter nbformat --to notebook --inplace --nbformat 5 your_notebook.ipynb

3. 验证修复结果

修复后先本地用Jupyter Notebook打开,确认能正常读取后再上传至GitHub测试报错是否消失。

预防措施

如果频繁需要从Zeppelin导出ipynb文件,可尝试:

  • 升级Zeppelin到最新稳定版,新版本可能已修复导出格式兼容问题
  • 编写简单Python脚本自动处理导出文件:
import nbformat

nb = nbformat.read("your_notebook.ipynb", as_version=5)
for cell in nb.cells:
    if cell.cell_type == "code" and "display_name" not in cell.metadata:
        cell.metadata["display_name"] = "Code"
    elif cell.cell_type == "markdown" and "display_name" not in cell.metadata:
        cell.metadata["display_name"] = "Markdown"
nbformat.write(nb, "fixed_notebook.ipynb")

内容的提问来源于stack exchange,提问作者Ayan Dey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 18:39:51