Adam Shai
Adam Shai

Reputation: 37

Local Runtime 404 GET

I am trying to get google collab local runtime working, but when I try to connect to the local server I get:

[I 10:17:23.142 NotebookApp] Serving notebooks from local directory: /home/adam/Documents/PYTHON/Complexity_Challenge/Spring_2018
[I 10:17:23.142 NotebookApp] 0 active kernels
[I 10:17:23.142 NotebookApp] The Jupyter Notebook is running at:
[I 10:17:23.142 NotebookApp] http://localhost:8891/
[I 10:17:23.142 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 10:17:33.609 NotebookApp] 404 GET /http_over_websocket (127.0.0.1) 50.27ms referer=None

The 404 GET is on the last line. I changed the setting in the jupyter_notebook_config.py as dictated in https://research.google.com/colaboratory/local-runtimes.html

EDIT: after Bob's comments I installed the package and then opened a notebook and tried to connect. It still didn't work but the error message is different:

(python3) adam@Rilke ~/Documents/DATA/terry20180313 $ jupyter serverextension enable --py jupyter_http_over_ws
Enabling: jupyter_http_over_ws
- Writing config: /home/adam/.jupyter
    - Validating...
      jupyter_http_over_ws  OK
(python3) adam@Rilke ~/Documents/DATA/terry20180313 $ 
(python3) adam@Rilke ~/Documents/DATA/terry20180313 $ jupyter notebook
[I 12:58:33.319 NotebookApp] The port 8888 is already in use, trying another port.
[I 12:58:33.320 NotebookApp] The port 8889 is already in use, trying another port.
[I 12:58:33.320 NotebookApp] The port 8890 is already in use, trying another port.
[I 12:58:33.321 NotebookApp] The port 8891 is already in use, trying another port.
jupyter_http_over_ws extension initialized. Listening on /http_over_websocket
[I 12:58:33.341 NotebookApp] Serving notebooks from local directory: /home/adam/Documents/DATA/terry20180313
[I 12:58:33.341 NotebookApp] 0 active kernels
[I 12:58:33.341 NotebookApp] The Jupyter Notebook is running at:
[I 12:58:33.341 NotebookApp] http://localhost:8892/
[I 12:58:33.341 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[E 12:59:19.470 NotebookApp] Uncaught exception
    Traceback (most recent call last):
      File "/home/adam/anaconda2/envs/python3/lib/python3.4/site-packages/tornado/http1connection.py", line 238, in _read_message
        delegate.finish()
      File "/home/adam/anaconda2/envs/python3/lib/python3.4/site-packages/tornado/httpserver.py", line 289, in finish
        self.delegate.finish()
      File "/home/adam/anaconda2/envs/python3/lib/python3.4/site-packages/tornado/web.py", line 2047, in finish
        self.execute()
      File "/home/adam/anaconda2/envs/python3/lib/python3.4/site-packages/tornado/web.py", line 2067, in execute
        **self.handler_kwargs)
      File "/home/adam/anaconda2/envs/python3/lib/python3.4/site-packages/jupyter_http_over_ws/handlers.py", line 43, in __init__
        websocket.WebSocketHandler.__init__(self, *args, **kwargs)
      File "/home/adam/anaconda2/envs/python3/lib/python3.4/site-packages/tornado/websocket.py", line 127, in __init__
        super(WebSocketHandler, self).__init__(application, request, **kwargs)
      File "/home/adam/anaconda2/envs/python3/lib/python3.4/site-packages/tornado/web.py", line 185, in __init__
        self.clear()
      File "/home/adam/anaconda2/envs/python3/lib/python3.4/site-packages/tornado/web.py", line 289, in clear
        self.set_default_headers()
      File "/home/adam/anaconda2/envs/python3/lib/python3.4/site-packages/notebook/base/handlers.py", line 316, in set_default_headers
        self.set_header("Access-Control-Allow-Origin", self.allow_origin)
      File "/home/adam/anaconda2/envs/python3/lib/python3.4/site-packages/tornado/websocket.py", line 385, in _disallow_for_websocket
        if self.stream is None:
    AttributeError: 'HttpOverWebSocketHandler' object has no attribute 'stream'

Upvotes: 4

Views: 5013

Answers (3)

nicoratchet
nicoratchet

Reputation: 49

If you installed your enviroment with conda, try to install the jupyter_http_over_ws package also via conda:

conda install -c conda-forge jupyter_http_over_ws

Then you should be able to enable the serverextension using:

jupyter serverextension enable --py jupyter_http_over_ws

After that run the following code also in PowerShell and you'll receive the url with the tokencode for Colab in there:

jupyter notebook --NotebookApp.allow_origin='https://colab.research.google.com' \ --port=9090 --no-browser

Upvotes: 2

AI Mechanic
AI Mechanic

Reputation: 641

Make sure you have the Colab "HTTP over WebSocket" Jupyter extension installed (for user jupyter) and the version is above 0.0.7:

pip install --upgrade jupyter_http_over_ws>=0.0.7

Enable Colab Jupyter HTTP over WebSocket extension:

jupyter serverextension enable --py jupyter_http_over_ws

You can run Jupyter with something like:

jupyter notebook   --NotebookApp.allow_origin='https://colab.research.google.com'   --port=8888   --NotebookApp.port_retries=0

Upvotes: 0

Bob Smith
Bob Smith

Reputation: 38674

That particular URL is handled by the Colab Jupyter extension. Did you install it?

pip install jupyter_http_over_ws
jupyter serverextension enable --py jupyter_http_over_ws

(Run the commands above prior to starting Jupyter.)

Upvotes: 7

Related Questions