【问题标题】:Two jupyter notebook running at the same port两个 jupyter notebook 在同一个端口上运行
【发布时间】:2018-11-09 15:17:16
【问题描述】:

我在 Windows 10 上使用 Ubuntu 子系统。

我打开一个终端,输入命令:

jupyter notebook 

然后在端口8888 启动一个笔记本。没有关闭这个,我打开另一个终端并再次输入 jupyter notebook,新终端显示:

[I 15:09:00.576 NotebookApp] The Jupyter Notebook is running at:
[I 15:09:00.577 NotebookApp] http://localhost:8888/?token=

使用与在第一个终端中运行的笔记本不同的令牌编号。如果我用浏览器打开localhost:8888 并从第二个终端输入令牌,jupyter 会拒绝我,而来自第一个终端的令牌会通过。

我想知道为什么会有两个笔记本在同一个 8888 端口上运行?如果我在第二个终端杀死笔记本,会影响在第一个终端运行的笔记本吗?

【问题讨论】:

  • 如果你打开一个新的笔记本,它需要一个不同的端口。它会抛出这个错误:端口 8888 已经在使用中,正在尝试另一个端口/

标签: python windows ubuntu jupyter-notebook jupyter


【解决方案1】:

简短回答 - 您不能在同一端口上运行 2 个笔记本服务器。

来自Jupyter documentation

您可以同时启动多个笔记本服务器,如果您 想要在不同目录中的笔记本上工作。 默认情况下 第一个笔记本服务器在端口 8888 上启动,然后是笔记本服务器 搜索该端口附近的端口。您也可以手动指定端口 使用 --port 选项。

这可能是网络问题或由您的环境配置引起的。基本上,对于 TCP/IP,您一次只能让一个应用程序在同一个端口上侦听。现在,如果您有 2 个网卡,您可以让一个应用程序使用相同的端口号侦听第一个 IP 和第二个 IP 上的第二个应用程序。 对于 UDP(多播),多个应用程序可以订阅同一个端口。

您始终可以使用 --port 选项和您选择的端口运行第二个服务器。

【讨论】:

  • 但是如果我不能让两个笔记本在同一个端口上运行,为什么第二个笔记本会成功启动并告诉我它正在侦听 8888?如果我没记错的话,在 mac osx 上,它会默认选择一个不同的端口(比如 8889)。
  • 你不应该在同一个端口上运行 2 个 Jupiter 服务器。这个问题很奇怪。但只是为了澄清你在 Win10 上的 VM 上运行两个 jupyter 服务器?
  • Window 现在包含一个 Ubuntu 发行版 - 您可以从应用商店下载它。我不认为它是一个虚拟机。
  • @JinhuaWang 那么这可能是原因。我会建议使用 VM :)。或者只为第二个 jupyter notebook 指定 --port。
  • @JinhuaWang 这个问题很奇怪,因为 TCP/IP 不允许多个应用程序监听某个端口。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-07
  • 2017-11-28
  • 2019-01-21
  • 1970-01-01
  • 2020-09-24
  • 1970-01-01
相关资源
最近更新 更多