Skip to content

500 Error at launch (KeyError: 'terminals_available' in self.settings) #255

Open
@defjaf

Description

Also reported on discourse.

macOS 13.5, Python 3.11.4 (homebrew)

With the recent move to notebook 7, I have been having issues with both notebook (documented here and here) and nbclassic.

For the latter, I am seeing a traceback, followed by a 500 error in the browser:

[E 2023-07-26 08:40:30.645 ServerApp] Uncaught exception GET /nbclassic/tree?token=e2a5e04ac6410a588e1132bac555b4f1fce1c781e1c9b4e0 (::1)
    HTTPServerRequest(protocol='http', host='localhost:8888', method='GET', uri='/nbclassic/tree?token=e2a5e04ac6410a588e1132bac555b4f1fce1c781e1c9b4e0', version='HTTP/1.1', remote_ip='::1')
    Traceback (most recent call last):
      File "/opt/homebrew/lib/python3.11/site-packages/tornado/web.py", line 1786, in _execute
        result = await result
                 ^^^^^^^^^^^^
      File "/opt/homebrew/lib/python3.11/site-packages/tornado/gen.py", line 786, in run
        yielded = self.gen.send(value)
                  ^^^^^^^^^^^^^^^^^^^^
      File "/opt/homebrew/lib/python3.11/site-packages/nbclassic/tree/handlers.py", line 69, in get
        terminals_available=self.settings['terminals_available'],
                            ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
    KeyError: 'terminals_available'

If I change "/opt/homebrew/lib/python3.11/site-packages/nbclassic/tree/handlers.py", line 69 from

terminals_available=self.settings['terminals_available'],

to

terminals_available=self.settings.get('terminals_available', False),

(as is done in notebook/app.py) it works (no errors, no 500), but I assume this shouldn't be necessary (and perhaps hides a real bug or config issue)?

I assume it is a local config issue somehow, but in fact even if I get rid of all of the current directories listed with jupyter --paths it does not seem to help.

(There seem to be other interface problems as documented in my jupyter/notebook issue. Also, if relevant: Python 3.11 is installed by homebrew, but all packages, including jupyter, notebook, etc. are installed with pip.)

Any ideas?

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions