笔记本验证失败 |木星

时间:2021-02-21 16:36:41

标签: python jupyter-notebook

我的 Jupyter Notebook 上不断出现令人沮丧且持续存在的错误:

保存操作成功,但笔记本似乎无效。验证错误是:

Notebook validation failed: Additional properties are not allowed ('id' was unexpected):
{
 "metadata": {
  "trusted": true
 },
 "id": "breathing-seventh",
 "cell_type": "code",
 "source": "import pandas as pd\nimport numpy as np\nimport re\nimport datetime\n\nimport json\nimport os\nimport copy\n\nimport seaborn as sns\nimport matplotlib.pyplot as plt",
 "execution_count": 1,
 "outputs": []
}

它指向我的导入列,其中包含:

import pandas as pd
import numpy as np
import re
import datetime

import json
import os
import copy

import seaborn as sns
import matplotlib.pyplot as plt

我也在笔记本中使用了 Plotly,我不确定该错误是否是由 Plotly 引起的。我查找了错误并使用了提到的 here 修复,但错误仍然存​​在。

请指教。

2 个答案:

答案 0 :(得分:1)

这是由于最近的 change in nbformat,详细描述了 here。基本上,nbformat 4.5 引入了这些 id 标记(如果您查找它们,您可能会在每个单元格中找到它们),因此以早期格式存储的每个笔记本不应该具有这些标记 —如果早期格式的笔记本有它们,则视为错误。

因此,不知何故,您的笔记本已部分更新为具有 id 标记,但未更新为笔记本元数据中列出的 nbformat。我也遇到过这种情况,肯定是bug。 (我认为更新应该通过 nbformat 发生,其中 v5.1.1 will automatically convert 4.x up to 4.5;但我有 5.1.2。那个和所有其他包都是最新的因为 conda 会给我,我已经重新启动了我的 jupyter 服务器。)

无论如何,解决这个问题的方法是在文本编辑器中打开您的笔记本。滚动到最底部,最后几行应如下所示:

 },
 "nbformat": 4,
 "nbformat_minor": 1
}

您应该可以安全地将该 nbformat_minor 数字更改为 5,保存文件,然后像往常一样再次打开笔记本。您将不会再收到这些通知。

答案 1 :(得分:0)

我在带有旧 python 包的 virtualenvs 中的旧笔记本上遇到了这个错误。当我更新该 virtualenv 中的所有 python 包时,它通常会消失。