首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行在chrome中的木星笔记本在服务器重新启动时被卡住

运行在chrome中的木星笔记本在服务器重新启动时被卡住
EN

Stack Overflow用户
提问于 2018-07-06 06:29:41
回答 2查看 7.2K关注 0票数 2

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

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

为了重现这个问题:

  1. 启动jupyter (本地外壳) jupyter笔记本
  2. 在chrome中创建一个新的笔记本(python 3),它将产生一个url,如: name=python3
  3. 在新笔记本中创建并运行一个单元格: 打印(1)
  4. 重新启动jupyter (Ctrl后跟着是到提示符退出),然后是: jupyter笔记本
  5. 转到同一个单细胞笔记本的相同的铬标签,并单击OK作为弹出的"Connection failed"
  6. 观察笔记本显示:[Connecting to Kernel]没有成功。
  7. 尝试通过菜单重新启动内核,通常它会被卡在[Kernel Starting...]中,在几次手动强制内核重新启动之后,它被认为是成功的[Kernel Created],但这是一个错误的成功,因为尝试运行单元格会给出一个[*]繁忙的标志,什么都不会发生。

在等待了大约5分钟后,它自己恢复了。

解决办法:

  • 在浏览器中重新加载笔记本(即按下浏览器级别的Reload )
  • 重新启动铬

软件:

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

同样的设置在同一台计算机上的firefox中运行良好。

从2015年起,github上有几张同样的门票(比如,但不知怎么的,他们把它归咎于铬,而且很明显,3年后这个问题还在那里。)

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

谢谢。

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

代码语言:javascript
复制
[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
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-04-21 22:44:20

如果您没有使用多用户环境,则解决方案是禁用安全特性,以防止用于启动浏览器的身份验证令牌不可见(这可能会被同一台计算机上的其他用户劫持)。

如果您还没有一个jupyter笔记本配置文件(通常是linux上的~/.jupyter/jupyter_notebook_config.py ):

  1. 创建它: $ jupyter notebook --generate-config
  2. 在文本编辑器中打开自动生成的文件,并找到行: #c.NotebookApp.use_redirect_file = True
  3. 如果该行被注释掉,请取消注释
  4. True替换为False

如果您已经有了配置文件,并且它没有此设置,只需添加:

c.NotebookApp.use_redirect_file = False

更改配置文件后,需要重新启动jupyter服务器。

请注意,需要jupyter-记事本>= 6.0.3才能使此功能工作。

最后,请记住,在每台jupyter服务器重新启动后,您必须重新加载每个笔记本才能工作。只有重新启动内核才能解决这个问题(尽管它误导地说内核已经重新启动了)。

票数 3
EN

Stack Overflow用户

发布于 2018-07-07 03:10:12

这是一个安全功能,没有问题的铬,它只是自动重新加载5分钟后,因为你切换之间的标签不知怎么。

如果您在登录时打开一个站点,您所看到的只是主站点url (而不是您的密码),对于新的jupyter笔记本,您需要一个特殊的(随机)密钥,就像密码一样,使jupyter服务器在启动任何内核之前首先工作,当您启动jupyter并打开" main“选项卡时,这会自动发生,浏览器将打开(或刷新)任何新选项卡的键。

当你不刷新旧页面的时候,你就会被注销,

这个功能用来保护你不被人们看到你发送到公共网络服务器的东西。

我仍然没有看到任何使用您的情况(保持页面,但重新启动服务器),这就像停止后端,但期待前端保持功能!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51204250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档