Reputation: 37
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
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
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
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