Jupyter Notebook:由于Websocket连接失败,因此无法连接到服务器

nic*_*ian 46 python jupyter-notebook

我刚刚在Windows 10中通过pip安装了Jupyter(Python版本为3.7.2),通过调用启动了jupyter服务器,并jupyter notebook在我的Web浏览器中创建了一个带有内核python3的新笔记本,但是从未实现与内核的连接。

在命令行中没有明显的错误:

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
Run Code Online (Sandbox Code Playgroud)

我尝试了所有Chrome,Firefox和Microsoft Edge,但均未成功。我什至尝试了PyCharm。

然后,我查看了浏览器的js控制台,似乎问题是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
Run Code Online (Sandbox Code Playgroud)

这可能是什么原因?

Nic*_*eat 88

我遇到了同样的问题,并按照此vvk2001github https://github.com/jupyter/notebook/issues/4399为我修复了它。

卸载龙卷风6,然后重新安装龙卷风5。

sudo pip3 uninstall tornado
sudo pip3 install tornado==5.1.1
Run Code Online (Sandbox Code Playgroud)

@kaleo给出了这个答案以及@Jason Nichols的类似问题

  • 谢谢你 实际上,由于龙卷风6,我今天花了一个小时试图修复部署,然后回到家,才意识到它也像朱皮特一样:) (2认同)
  • 谢谢!在过去的 5 个小时里,我一直在努力解决这个问题。这个解决方案奏效了。 (2认同)

pyl*_*ang 7

Jupyter Notebook 5.7.5 更新应该可以解决 Tornado 6 的问题。请参阅Jupyter 团队发布的推文公告和github 发布标签。

截至 2019 年 6 月 3 日,文档conda 发行版均处于待更改状态。不过,您可以使用 进行更新pip


从文档中,升级:

> pip install notebook --upgrade
Run Code Online (Sandbox Code Playgroud)

验证版本:

> pip --version
Run Code Online (Sandbox Code Playgroud)


lmi*_*asf 6

问题是包tornado6 和notebook5.7.4之间存在不兼容。notebook已更新2019 年 3 月 6 日以解决此问题。目前,解决它的最佳方法如下:

使用点子

$ pip install -U jupyter
Run Code Online (Sandbox Code Playgroud)

使用pipenv

$ pipenv update jupyter
Run Code Online (Sandbox Code Playgroud)


Nik*_* VJ 6

不要降级龙卷风。相反,强制重新安装 jupyter。

pip3 install --force-reinstall --upgrade jupyter
Run Code Online (Sandbox Code Playgroud)

参考:https: //github.com/jupyter/notebook/issues/4439