Cuaderno Jupyter: no hay conexión con el servidor porque falla la conexión websocket

Acabo de instalar Jupyter sobre pip (la versión de Python es 3.7.2) en Windows 10, inicié el servidor de jupyter notebook llamando al jupyter notebook , creé un nuevo bloc de notas con el kernel python3 en mi navegador web, pero nunca se logra una conexión al kernel.

No hay error obvio en la línea de comando:

 C:\Users\xxxx>jupyter notebook [I 21:18:21.005 NotebookApp] Serving notebooks from local directory: C:\Users\xxxx [I 21:18:21.005 NotebookApp] The Jupyter Notebook is running at: [I 21:18:21.006 NotebookApp] http://localhost:8888/?token=5743fcbbc805efa4b36c983a7beb63b95cf922957378d64f [I 21:18:21.007 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). [C 21:18:21.087 NotebookApp] To access the notebook, open this file in a browser: file:///C:/Users/xxxx/AppData/Roaming/jupyter/runtime/nbserver-18416-open.html Or copy and paste one of these URLs: http://localhost:8888/?token=5743fcbbc805efa4b36c983a7beb63b95cf922957378d64f [I 21:18:33.777 NotebookApp] Creating new notebook in [I 21:18:35.512 NotebookApp] Kernel started: ab30c1b3-55d2-45e9-9f01-b4bfc077bb01 [I 21:18:36.883 NotebookApp] Adapting to protocol v5.1 for kernel ab30c1b3-55d2-45e9-9f01-b4bfc077bb01 c:\users\xxxx\appdata\local\programs\python\python37-32\lib\site-packages\notebook\base\zmqhandlers.py:284: RuntimeWarning: coroutine 'WebSocketHandler.get' was never awaited super(AuthenticatedZMQStreamHandler, self).get(*args, **kwargs) RuntimeWarning: Enable tracemalloc to get the object allocation traceback [W 21:18:37.912 NotebookApp] Replacing stale connection: ab30c1b3-55d2-45e9-9f01-b4bfc077bb01:397de5420f9e4bce82d95967bf5fa1eb [W 21:19:14.026 NotebookApp] 404 GET /static/components/preact/preact.min.js.map (::1) 18.98ms referer=None [W 21:19:14.040 NotebookApp] 404 GET /static/components/preact-compat/preact-compat.min.js.map (::1) 6.49ms referer=None [W 21:19:14.050 NotebookApp] 404 GET /static/components/proptypes/index.js.map (::1) 15.99ms referer=None [I 21:20:36.067 NotebookApp] Saving file at /Untitled1.ipynb [W 21:22:40.052 NotebookApp] Replacing stale connection: ab30c1b3-55d2-45e9-9f01-b4bfc077bb01:397de5420f9e4bce82d95967bf5fa1eb 

He probado todos los Chrome, Firefox y Microsoft Edge sin éxito. Incluso lo intenté a través de PyCharm.

Luego miré la consola js del navegador y parece que el problema es un error en la conexión de websocket:

 menubar.js:277 actions jupyter-notebook:find-and-replace does not exist, still binding it in case it will be defined later... MenuBar.bind_events @ menubar.js:277 utils.js:60 load_extensions Arguments(1) bidi.js:19 Loaded moment locale en utils.js:37 Loading extension: jupyter-js-widgets/extension session.js:54 Session: kernel_created (003a523b-3d40-41ac-b65e-154db92d5528) kernel.js:459 Starting WebSockets: ws://localhost:8888/api/kernels/f8809bf9-988f-4666-b183-e01bed63fa76 kernel.js:461 WebSocket connection to 'ws://localhost:8888/api/kernels/f8809bf9-988f-4666-b183-e01bed63fa76/channels?session_id=e49c21f065e64e7a89847a0859d689dd' failed: Error during WebSocket handshake: Unexpected response code: 200 Kernel.start_channels @ kernel.js:461 kernel.js:103 Kernel: kernel_disconnected (f8809bf9-988f-4666-b183-e01bed63fa76) kernel.js:544 WebSocket connection failed: ws://localhost:8888/api/kernels/f8809bf9-988f-4666-b183-e01bed63fa76 true kernel.js:562 Connection lost, reconnecting in 1 seconds. kernel.js:103 Kernel: kernel_reconnecting (f8809bf9-988f-4666-b183-e01bed63fa76) kernel.js:459 Starting WebSockets: ws://localhost:8888/api/kernels/f8809bf9-988f-4666-b183-e01bed63fa76 

¿Cuál podría ser la razón aquí?

Tuve el mismo problema, y ​​después de este vvk2001github https://github.com/jupyter/notebook/issues/4399 lo solucioné para mí.

Desinstalar tornado 6 y reinstalar tornado 5.

 sudo pip3 uninstall tornado sudo pip3 install tornado==5.1.1 

@kaleo también dio esta respuesta a una pregunta similar de @Jason Nichols

La actualización de Jupyter Notebook 5.7.5 debería resolver los problemas con el tornado 6. Ver el anuncio en Twitter y la etiqueta de lanzamiento de github del equipo de Jupyter.

A partir del 03-06-19, tanto los documentos como la distribución de conda están pendientes de cambios. Sin embargo, puede actualizar utilizando pip .


Desde la documentación, actualice con:

 > pip install notebook --upgrade 

Verificar versión:

 > pip --version 

El problema era que había una incompatibilidad entre los paquetes tornado 6 y notebook 5.7.4. notebook se actualizó el 6 de marzo de 2019 para resolver este problema. En este momento, la mejor manera de resolverlo es la siguiente:

Usando pip

 $ pip install -U jupyter 

Usando pipenv

 $ pipenv update jupyter