用chrome运行的Jupyter笔记本在服务器res上卡住了

2024-10-01 11:23:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我从一个工作的jupyter设置开始,一切都很好。我可以从笔记本中断或重新启动内核,没有任何问题。在

但是,如果我更改一些jupyter配置,或者安装一些模块,并且重新启动jupyter服务器,我必须等待大约5分钟,以便打开的笔记本恢复对python内核的访问。在

要重现问题:

  1. 启动jupyter(本地shell)

    jupyter笔记本

  2. 在chrome中创建一个新的笔记本(python 3),这将产生一个如下url:

    http://localhost:8888/notebooks/Untitled1.ipynb?kernel_name=python3

  3. 在新笔记本中创建并运行单个单元格:

    打印(1)

  4. 重新启动jupyter(Ctrl-C,然后是[yes]以提示退出),然后是:

    jupyter笔记本

  5. 使用同一个单电池笔记本转到同一个chrome选项卡,然后单击“确定”弹出"Connection failed"

  6. 观察笔记本显示:[Connecting to Kernel]没有成功。

  7. 尝试通过菜单重新启动内核,通常它会被困在[Kernel Starting...]中,在多次手动强制内核重新启动之后,它应该成功[Kernel Created],但这是一个错误的成功,因为尝试运行这些单元会发出[*]忙碌的信号,什么也没有发生。

等待5分钟后,它会自行恢复。

解决方法:

  • 在浏览器中重新加载笔记本(即在浏览器级别单击“重新加载”)
  • 重新启动chrome

软件:

  • ubuntu 16.04
  • 笔记本5.5.0
  • python 3.6.6
  • 铬67
  • 未启用adblock软件
  • empty~/.jupyter(为了测试而删除了所有内容,因此没有扩展或自定义配置)

同样的设置在同一台机器上的firefox中也能正常工作。在

github上有几张2015年的罚单差不多(例如this),但不知怎么的,他们把这归咎于chrome,显然3年后这个问题仍然存在。在

你知道怎么解决这个问题吗?在

谢谢。在

下面是打开笔记本重新连接/重新启动过程中的日志:

[I 22:54:09.032 NotebookApp] Kernel restarted: 9aa08efb-74b1-471c-ad0f-bb9dc3577c28
[W 22:54:09.343 NotebookApp] Replacing stale connection: 6cc8a446-1dc0-4c01-86ab-f95ae99c24af:10a12a1b834f43298fb9e6f344bc6b26
[W 22:54:45.348 NotebookApp] Replacing stale connection: 6cc8a446-1dc0-4c01-86ab-f95ae99c24af:10a12a1b834f43298fb9e6f344bc6b26
[W 22:55:37.359 NotebookApp] Replacing stale connection: 6cc8a446-1dc0-4c01-86ab-f95ae99c24af:10a12a1b834f43298fb9e6f344bc6b26
[W 22:57:01.367 NotebookApp] Replacing stale connection: 6cc8a446-1dc0-4c01-86ab-f95ae99c24af:10a12a1b834f43298fb9e6f344bc6b26
[I 22:57:41.337 NotebookApp] Adapting to protocol v5.1 for kernel 9aa08efb-74b1-471c-ad0f-bb9dc3577c28
[W 22:57:41.350 NotebookApp] Replacing stale connection: 9aa08efb-74b1-471c-ad0f-bb9dc3577c28:768880fb9a244da99735e983bd6c36c6
[I 22:57:41.351 NotebookApp] Starting buffering for 9aa08efb-74b1-471c-ad0f-bb9dc3577c28:768880fb9a244da99735e983bd6c36c6
[I 22:57:41.351 NotebookApp] Adapting to protocol v5.1 for kernel 9aa08efb-74b1-471c-ad0f-bb9dc3577c28
[I 22:57:41.352 NotebookApp] Restoring connection for 9aa08efb-74b1-471c-ad0f-bb9dc3577c28:768880fb9a244da99735e983bd6c36c6
[I 22:57:49.324 NotebookApp] Starting buffering for 9aa08efb-74b1-471c-ad0f-bb9dc3577c28:768880fb9a244da99735e983bd6c36c6
[I 22:57:49.327 NotebookApp] Adapting to protocol v5.1 for kernel 9aa08efb-74b1-471c-ad0f-bb9dc3577c28
[I 22:57:49.328 NotebookApp] Restoring connection for 9aa08efb-74b1-471c-ad0f-bb9dc3577c28:768880fb9a244da99735e983bd6c36c6

Tags: tofor笔记本jupyterchromeconnectionkernel内核
1条回答
网友
1楼 · 发布于 2024-10-01 11:23:13

这是一个安全功能,chrome没有错,它只是在5分钟后自动重新加载,因为你可以在标签之间切换。在

如果您在登录时打开一个站点,您看到的只是主站点的url(不是您的密码),与新的jupyter笔记本电脑相同,您需要一个特殊的(随机的)密钥,就像密码一样在启动任何内核之前让jupyter服务器首先工作,当您启动jupyter并打开“main”选项卡时,会自动发生这种情况,浏览器保留打开(或刷新)任何新选项卡的键

当你不刷新旧页面时,你只需注销

此功能用于保护您不被其他人看到您发送到公共web服务器的内容

我仍然看不出你的案例有任何用处(保留页面,但重启服务器),这就像停止后端,但期待前端仍能正常工作一样!在

相关问题 更多 >