python - Jupyter 无法打开笔记本并出现错误:“文件“XX”有未保存的更改,关闭而不保存?”
问题描述
我在使用分布式文件系统的机器集群上运行 Jupyter 笔记本。
一段时间后,由于错误,我无法打开新笔记本:
Close without saving?
File "XXX.ipynb" has unsaved changes, close without saving?
查看 Jupyter 日志,我可以看到出现此错误是因为nbsignatures.db
数据库已锁定。
[E 15:58:01.190 LabApp] Uncaught exception GET /api/contents/workspace/proteinsolver/notebooks/XXX.ipynb?type=notebook&content=1&1572638276143 (10.74.73.2)
HTTPServerRequest(protocol='http', host='localhost:9416', method='GET', uri='/api/contents/workspace/proteinsolver/notebooks/04_sudoku_train-01-Copy8.ipynb?type=notebook&content=1&1572638276143', version='HTTP/1.1', remote_ip='10.74.73.2')
Traceback (most recent call last):
File "/home/username/miniconda3/lib/python3.7/site-packages/tornado/web.py", line 1699, in _execute
result = await result
File "/home/username/miniconda3/lib/python3.7/site-packages/tornado/gen.py", line 209, in wrapper
yielded = next(result)
File "/home/username/miniconda3/lib/python3.7/site-packages/notebook/services/contents/handlers.py", line 112, in get
path=path, type=type, format=format, content=content,
File "/home/username/miniconda3/lib/python3.7/site-packages/notebook/services/contents/filemanager.py", line 433, in get
model = self._notebook_model(path, content=content)
File "/home/username/miniconda3/lib/python3.7/site-packages/notebook/services/contents/filemanager.py", line 392, in _notebook_model
self.mark_trusted_cells(nb, path)
File "/home/username/miniconda3/lib/python3.7/site-packages/notebook/services/contents/manager.py", line 508, in mark_trusted_cells
trusted = self.notary.check_signature(nb)
File "/home/username/miniconda3/lib/python3.7/site-packages/nbformat/sign.py", line 439, in check_signature
return self.store.check_signature(signature, self.algorithm)
File "/home/username/miniconda3/lib/python3.7/site-packages/nbformat/sign.py", line 232, in check_signature
""", (algorithm, digest)).fetchone()
sqlite3.OperationalError: database is locked
我解决这个问题的最简单方法是什么?
解决方案
笔记本是否有机会在 git 中维护并且存在合并冲突?请参阅此解决方案:https ://stackoverflow.com/a/61031136/4001214当我遇到此问题时它修复了我的问题。
当 git 无法解决文本文件中的冲突时,它会将其合理差异的想法放入文件中。这破坏了 .ipynb 的 JSON 结构,使其在 jupyter 中不可读。在链接的解决方案中,作者显示
<<<<<<< HEAD
},
{
<CONTENTS OF MY CELL>
]
=======
>>>>>>> a23f8f8f9db0974b7de90c6e7ed8599fa04d53cc
并注意到使用文本编辑器从文件中删除有问题的行解决了这个问题。就我而言,我在 git 中有一个已知的好文件,所以我删除了本地副本并重新拉取。
推荐阅读
- jquery - jQuery 函数未使用新参数执行
- python - 带环顾和替换的正则表达式
- python - 将python列表划分为列表的子集(子集的数量越少越好),每个列表的总和小于K
- javascript - 用 JQuery 加载的内容需要表单提交以重新加载父项中的内容
- javascript - 为什么我在 Vue.js Storybook 中的“数据”参数没有覆盖组件的数据?
- google-app-engine - 为我的 API 生成 Open API 时出错
- three.js - TREE.JS / GLSL 如何将着色器大小与世界坐标匹配?
- algorithm - DFS Graph Traversal 打印所有可能的路径,而不会丢失任何贡献的边缘
- javascript - ES6 链式访问以前的方法
- python - 自定义层中的偏差不存在 Tensorflow 梯度