笔记本验证失败 | 朱皮特

Luk*_*uke 9 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": []
}
Run Code Online (Sandbox Code Playgroud)

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

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
Run Code Online (Sandbox Code Playgroud)

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

请指教。

Mik*_*ike 16

这是由于最近的一项更改所致,nbformat此处对此进行了详细描述。基本上,nbformat 4.5 引入了这些id标签(如果您查找它们,您可能会在每个单元格中找到它们),因此如果是早期格式的笔记本,则以早期格式存储的每个笔记本不应具有这些标签 \xe2\x80\x94有它们,它被认为是一个错误。

\n

因此,您的笔记本以某种方式部分更新为具有id标签,但没有笔记本元数据中列出的 nbformat。我也遇到过这种情况,这肯定是一个错误。(我认为更新应该通过 进行nbformat,其中v5.1.1 会自动将 4.x 转换为 4.5;但我有 5.1.2 。那个和所有其他包都是最新的,因为 conda 会给我,并且我已经重新启动了我的 jupyter 服务器。)

\n

无论如何,解决这个问题的方法是在文本编辑器中打开笔记本(如果您暂时将扩展名更改为 ,则可能是 Jupyter Notebook 的内置文本编辑器.ipynb.txt。滚动到最底部,最后几行应如下所示:

\n
 },\n "nbformat": 4,\n "nbformat_minor": 1\n}\n
Run Code Online (Sandbox Code Playgroud)\n

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

\n

  • 您确定将“nbformat_minor”设置为 5,但将“nbformat”保留为 4 吗?您是否更新了所有与笔记本相关的软件包? (2认同)