Ipython: Erro do notebook IPython: erro ao carregar o notebook

Criado em 23 jan. 2016  ·  8Comentários  ·  Fonte: ipython/ipython

Nos últimos minutos, não consegui acessar nenhum dos .ipynb arquivos criados anteriormente com Python3.4. Eu vou para o subdiretório com esses arquivos, entro

ipython3 notebook

Quando clico em um determinado arquivo .ipynb , recebo o seguinte erro:

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

Como resolver esse problema?

Comentários muito úteis

O banco de dados de assinaturas de notebooks foi corrompido. Para tirá-lo do caminho:

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

Estamos trabalhando para detectar o erro e fazer isso automaticamente no jupyter / nbformat # 32.

Depois de fazer isso, todos os notebooks não serão mais confiáveis. Isso significa que você pode ter que executá-los novamente, ou confiar neles manualmente a partir do menu de arquivos, antes que alguma saída rica seja exibida.

Todos 8 comentários

O banco de dados de assinaturas de notebooks foi corrompido. Para tirá-lo do caminho:

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

Estamos trabalhando para detectar o erro e fazer isso automaticamente no jupyter / nbformat # 32.

Depois de fazer isso, todos os notebooks não serão mais confiáveis. Isso significa que você pode ter que executá-los novamente, ou confiar neles manualmente a partir do menu de arquivos, antes que alguma saída rica seja exibida.

Meu problema foi resolvido com

rm ~/Library/Jupyter/nbsignatures.db

Obrigado

remover ~ / .ipython / profile_default / history_sqlite

Isso me ajuda muito.

@KnightOfTheMoonlight Acho que o arquivo se chama "history.sqlite" em vez de "history_sqlite".

Verifique o espaço disponível no seu ambiente de trabalho !!!
Eu tive esse erro quando o servidor não tinha espaço.

@takluyver Eu tive um problema semelhante e suas sugestões funcionaram. Obrigado!

Verifique o espaço disponível no seu ambiente de trabalho !!!
Eu tive esse erro quando o servidor não tinha espaço.

Esse era o meu problema também. Obrigado pela dica! Funcionou!

Primeiro execute o seguinte no terminal:
sudo jupyter notebook --allow-root

Então, alguma URL aparecerá no terminal, algo como:

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

Por fim, copie e cole este URL em uma nova guia do navegador. Em seguida, o bloco de notas jupyter será aberto em uma nova guia.

Saúde!

Esta página foi útil?
0 / 5 - 0 avaliações