IPython Notebook错误:加载笔记本时出错

10

在过去几分钟内,我无法访问以Python3.4创建的任何.ipynb文件。 我进入这些文件所在的子目录,键入:

ipython3 notebook

当我打开一个“新建”笔记本时,出现以下错误:

Unexpected error while saving file: Untitled1.ipynb database disk image is malformed

我也无法打开旧笔记本,出现错误:

An unknown error occurred while loading this notebook. This version can load notebook formats v4 or earlier. See the server log for details.

在终端中,它会显示

kernels (twice to skip confirmation).
[E 00:30:22.352 NotebookApp] Unhandled error in API request
    Traceback (most recent call last):
      File "/opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/traitlets/traitlets.py", line 460, in get
        value = obj._trait_values[self.name]
    KeyError: 'db'

如何解决这个问题?

可能与此错误相关:https://github.com/ipython/ipython/issues/8294 - anjsimmo
别忘了重新启动! - kgui
@Crt 尝试过了 - ShanZhengYang
7个回答

16

这可能不是每个人都会遇到的问题,但我因为磁盘已满而收到以下错误消息:

An unknown error occurred while loading this notebook. This version can load notebook formats v4 or earlier. See the server log for details.

我也是,在 Linux 服务器上我的主目录已满。 - Minstein
是的,你说得对。我也遇到了同样的问题,我的C盘已经满了。谢谢! - undefined

11

搜索 nbsignatures.db 文件。它应该在这里之一:

~/.ipython/profile_default/security/nbsignatures.db
 ~/Library/Jupyter/nbsignatures.db

~代表您的主目录。

将此文件移至临时目录。

重新启动您的IPython Notebook服务器。


1
删除 nbsignatures.db 文件解决了问题,即 rm ~/Library/Jupyter/nbsignatures.db - ShanZhengYang

9

删除 ~/.ipython/profile_default/history.sqlite

这对我有帮助。


这对我有用,谢谢!我遇到的错误与 OP 稍有不同,它没有包含特定的版本号:"加载此笔记本时发生未知错误。此版本可以加载笔记本格式或更早版本。请参阅服务器日志以获取详细信息。" - Geoff
这个在 VS Code 的 Jupyter 扩展中对我起作用。它生成了多个 history.sqlite 文件版本。扩展版本:v2022.2.1030672458,Mac:OS 10.15.7,Python:3.9.7。错误信息:“历史保存线程遇到意外错误 (OperationalError('attempt to write a readonly database'))。历史记录将不会被写入数据库。” - tgrrr

5

因为我在其他答案中找不到提到的文件,所以我寻找另一个解决方法,并发现这个对我起作用:

我通过将~/.local/share/jupyter目录的所有权从root更改为用户来解决了此问题。

来自https://github.com/ipython/ipython/issues/8997


我曾经遇到过类似的问题。但是由于环境变量 XDG_DATA_HOME 的值格式不正确,为 /.local/share - jadelord

4
在我的情况下,我的`nbsignatures.db` 文件在这里,删除后可以正常运行。
~/.local/share/jupyter/nbsignatures.db

记得重新启动您的jupyter笔记本服务器。我为了使其正常工作而重启了多次。


0

其他答案对我的情况没有帮助。

最后,我只是复制了笔记本并重命名了副本。 副本没有错误。


0

首先在终端中运行以下命令:

sudo jupyter notebook --allow-root

然后终端会显示一些URL,类似于:

http://localhost:8888/?token=f2704ecba4c88716337f33e79e13335380e25382603afb80

最后,将此URL复制并粘贴到浏览器的新标签页中。然后Jupyter笔记本将在新标签页中打开。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接