保存文件时出错:无法打开数据库文件

Abh*_*bhi 2 amazon-ec2 jupyter-notebook

我在RHEL上运行托管在远程AWS EC2映像上的Ipython笔记本.我使用2个系统之间的端口转发从本地浏览器访问笔记本电脑,这在前几天工作得很好.

现在,我在启动笔记本时遇到以下错误消息:

> [E 20:34:57.072 NotebookApp] 500 PUT /api/contents/HW4/HW4.ipynb (::1)
> 9.14ms referer=http://localhost:8880/notebooks/HW4/HW4.ipynb [W 20:35:10.315 NotebookApp] Replacing stale connection:
> 14cfb1f0-1d03-4a84-818e-d11938db6bd6:57AB20A0DD6A47A5815DE5FA12D0C101
> [W 20:36:34.428 NotebookApp] Replacing stale connection:
> 14cfb1f0-1d03-4a84-818e-d11938db6bd6:57AB20A0DD6A47A5815DE5FA12D0C101
> [I 20:36:57.080 NotebookApp] Saving file at /HW4/HW4.ipynb [E
> 20:36:57.083 NotebookApp] Error while saving file: HW4/HW4.ipynb
> unable to open database file
>     Traceback (most recent call last):
>       File "/home/ec2-user/anaconda3/lib/python3.5/site-packages/notebook/services/contents/filemanager.py",
> line 395, in save
>         self.check_and_sign(nb, path)
>       File "/home/ec2-user/anaconda3/lib/python3.5/site-packages/notebook/services/contents/manager.py",
> line 431, in check_and_sign
>         self.notary.sign(nb)
>       File "/home/ec2-user/anaconda3/lib/python3.5/site-packages/nbformat/sign.py",
> line 263, in sign
>         self.store_signature(signature, nb)
>       File "/home/ec2-user/anaconda3/lib/python3.5/site-packages/nbformat/sign.py",
> line 270, in store_signature
>         (self.algorithm, signature, datetime.utcnow())
>     sqlite3.OperationalError: unable to open database file [W 20:36:57.084 NotebookApp] Unexpected error while saving file:
> HW4/HW4.ipynb unable to open database file [E 20:36:57.084
> NotebookApp] {
>       "Content-Type": "application/json",
>       "Connection": "keep-alive",
>       "Referer": "http://localhost:8880/notebooks/HW4/HW4.ipynb",
>       "Accept-Encoding": "gzip, deflate",
>       "Content-Length": "24540",
>       "Accept-Language": "en-US,en;q=0.5",
>       "Accept": "application/json, text/javascript, */*; q=0.01",
>       "Host": "localhost:8880",
>       "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:49.0) Gecko/20100101 Firefox/49.0",
>       "X-Requested-With": "XMLHttpRequest"
>     } [E 20:36:57.084 NotebookApp] 500 PUT /api/contents/HW4/HW4.ipynb (::1) 40.17ms referer=http://localhost:8880/notebooks/HW4/HW4.ipynb [I
> 20:38:57.096 NotebookApp] Saving file at /HW4/HW4.ipynb [E
> 20:38:57.099 NotebookApp] Error while saving file: HW4/HW4.ipynb
> unable to open database file
>     Traceback (most recent call last):
>       File "/home/ec2-user/anaconda3/lib/python3.5/site-packages/notebook/services/contents/filemanager.py",
> line 395, in save
>         self.check_and_sign(nb, path)
>       File "/home/ec2-user/anaconda3/lib/python3.5/site-packages/notebook/services/contents/manager.py",
> line 431, in check_and_sign
>         self.notary.sign(nb)
>       File "/home/ec2-user/anaconda3/lib/python3.5/site-packages/nbformat/sign.py",
> line 263, in sign
>         self.store_signature(signature, nb)
>       File "/home/ec2-user/anaconda3/lib/python3.5/site-packages/nbformat/sign.py",
> line 270, in store_signature
>         (self.algorithm, signature, datetime.utcnow())
>     sqlite3.OperationalError: unable to open database file [W 20:38:57.099 NotebookApp] Unexpected error while saving file:
> HW4/HW4.ipynb unable to open database file [E 20:38:57.100
> NotebookApp] {
>       "Content-Type": "application/json",
>       "Connection": "keep-alive",
>       "Referer": "http://localhost:8880/notebooks/HW4/HW4.ipynb",
>       "Accept-Encoding": "gzip, deflate",
>       "Content-Length": "24540",
>       "Accept-Language": "en-US,en;q=0.5",
>       "Accept": "application/json, text/javascript, */*; q=0.01",
>       "Host": "localhost:8880",
>       "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:49.0) Gecko/20100101 Firefox/49.0",
>       "X-Requested-With": "XMLHttpRequest"
>     }
Run Code Online (Sandbox Code Playgroud)

我检查了anaconda3文件夹的所有权,运行Ipython笔记本的用户对文件夹有读/写权限.我应该调查任何其他配置

小智 6

鉴于这是在一年前发布的,它很可能已得到解决.为搜索引擎发布此答案.

/ home目录上的磁盘空间不足将触发此错误,尤其是"它之前有效,但现在没有".鉴于这是一个EC2实例,空间可能有限并且可能会填满,特别是如果您正在进行大量数据分析.

在空间不足之后,我在配置限制的/ home文件系统上遇到了类似的错误消息.这是异常的相关部分:

      File "/data/user/jpr/projects/mpdmine/venv/lib/python3.6/site-packages/nbformat/sign.py", line 439, in check_signature
    return self.store.check_signature(signature, self.algorithm)
  File "/data/user/jpr/projects/mpdmine/venv/lib/python3.6/site-packages/nbformat/sign.py", line 239, in check_signature
    (datetime.utcnow(), algorithm, digest),
sqlite3.OperationalError: unable to open database file
Run Code Online (Sandbox Code Playgroud)

正在打开的文件未列在堆栈跟踪中,但此错误线程提供了一个提示.数据库文件是笔记本签名数据库〜/ .local/share/jupyter/nbsignatures.db.open尝试创建日志文件,如果失败(由于完整的文件系统),数据库打开将失败.

您可以在jupyter notebook python进程(strace -e open -p)上使用strace来查看打开文件的尝试.

修复文件系统完整问题应解决此错误.

  • 我来自搜索引擎至关重要的未来。非常感谢您的帮助。谢谢你! (3认同)