Ipython: IPython Notebook-Fehler: Fehler beim Laden des Notebooks

Erstellt am 23. Jan. 2016  ·  8Kommentare  ·  Quelle: ipython/ipython

In den letzten Minuten konnte ich auf keine der zuvor mit Python3.4 erstellten .ipynb Dateien zugreifen. Ich gehe in das Unterverzeichnis mit diesen Dateien, gib ein

ipython3 notebook

Wenn ich auf eine bestimmte .ipynb Datei klicke, erhalte ich die folgende Fehlermeldung:

An unknown error occurred while loading this notebook. This version can load notebook formats v4 or earlier. See the server log for details.
[E 00:19:41.468 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'
During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/notebook/base/handlers.py", line 458, in wrapper
    result = yield gen.maybe_future(method(self, *args, **kwargs))
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/tornado/gen.py", line 1008, in run
    value = future.result()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/tornado/concurrent.py", line 232, in result
    raise_exc_info(self._exc_info)
  File "<string>", line 3, in raise_exc_info
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/tornado/gen.py", line 282, in wrapper
    yielded = next(result)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/notebook/services/contents/handlers.py", line 124, in get
    path=path, type=type, format=format, content=content,
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/notebook/services/contents/filemanager.py", line 354, in get
    model = self._notebook_model(path, content=content)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/notebook/services/contents/filemanager.py", line 314, in _notebook_model
    self.mark_trusted_cells(nb, path)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/notebook/services/contents/manager.py", line 447, in mark_trusted_cells
    trusted = self.notary.check_signature(nb)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/nbformat/sign.py", line 220, in check_signature
    if self.db is None:
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/traitlets/traitlets.py", line 488, in __get__
    return self.get(obj, cls)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/traitlets/traitlets.py", line 467, in get
    value = self._validate(obj, dynamic_default())
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/nbformat/sign.py", line 127, in _db_default
    self.init_db(db)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/nbformat/sign.py", line 139, in init_db
    )""")
sqlite3.DatabaseError: database disk image is malformed

Wie löst man dieses Problem?

Hilfreichster Kommentar

Die Datenbank der Notebook-Signaturen wurde beschädigt. Um es aus dem Weg zu räumen:

cd $(jupyter --data-dir)
mv nbsignatures.db nbsignatures.db.bak   # Or just rm it - there's probably no use keeping the corrupt file

Wir arbeiten daran, den Fehler abzufangen und dies automatisch in jupyter/nbformat#32 zu tun.

Sobald Sie dies getan haben, werden alle Notebooks wieder nicht vertrauenswürdig. Das bedeutet, dass Sie sie möglicherweise erneut ausführen oder ihnen manuell über das Dateimenü vertrauen müssen, bevor eine umfangreiche Ausgabe angezeigt wird.

Alle 8 Kommentare

Die Datenbank der Notebook-Signaturen wurde beschädigt. Um es aus dem Weg zu räumen:

cd $(jupyter --data-dir)
mv nbsignatures.db nbsignatures.db.bak   # Or just rm it - there's probably no use keeping the corrupt file

Wir arbeiten daran, den Fehler abzufangen und dies automatisch in jupyter/nbformat#32 zu tun.

Sobald Sie dies getan haben, werden alle Notebooks wieder nicht vertrauenswürdig. Das bedeutet, dass Sie sie möglicherweise erneut ausführen oder ihnen manuell über das Dateimenü vertrauen müssen, bevor eine umfangreiche Ausgabe angezeigt wird.

Mein Problem wurde gelöst mit

rm ~/Library/Jupyter/nbsignatures.db

Vielen Dank

~/.ipython/profile_default/history_sqlite entfernen

Das hilft mir.

@KnightOfTheMoonlight Ich denke, die Datei heißt "history.sqlite" anstelle von "history_sqlite".

Prüfen Sie den verfügbaren Platz in Ihrer Arbeitsumgebung!!!
Ich hatte diesen Fehler, als der Server keinen Platz hatte.

@takluyver Ich hatte ein ähnliches Problem und Ihre Vorschläge haben funktioniert. Vielen Dank!

Prüfen Sie den verfügbaren Platz in Ihrer Arbeitsumgebung!!!
Ich hatte diesen Fehler, als der Server keinen Platz hatte.

Das war auch mein Problem. Danke für den Tipp! Es funktionierte!

Führen Sie zunächst Folgendes im Terminal aus:
sudo jupyter notebook --allow-root

Dann erscheint im Terminal eine URL, etwa:

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

Kopieren Sie abschließend diese URL und fügen Sie sie in einen neuen Tab in Ihrem Browser ein. Dann wird das Jupyter-Notizbuch in einem neuen Tab geöffnet.

Danke schön!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen