内核在jupyter笔记本中不断死亡

Posted

技术标签:

【中文标题】内核在jupyter笔记本中不断死亡【英文标题】:kernel keeps dying in jupyter notebook 【发布时间】:2018-11-19 23:48:19 【问题描述】:

每当我启动 jupyter notebook 并创建一个新的 python 3 笔记本时,我都会收到一条错误消息,指出内核已死。 我已尝试删除和安装 ipython、python3.6.5 和 jupyter notebook,但仍然收到错误消息。

我的cmd画面如下:-

[I 06:46:36.432 NotebookApp] KernelRestarter: restarting kernel (4/5), new random ports
WARNING:root:kernel 0d0442a9-c92f-46e6-acdd-08ca0a18c5f2 restarted
Traceback (most recent call last):

  File "c:\users\user\appdata\local\programs\python\python36-32\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)

  File "c:\users\user\appdata\local\programs\python\python36-32\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)

  File "c:\users\user\appdata\local\programs\python\python36-32\lib\site-packages\ipykernel_launcher.py", line 15, in <module>
    from ipykernel import kernelapp as app

  File "c:\users\user\appdata\local\programs\python\python36-32\lib\site-packages\ipykernel\__init__.py", line 2, in <module>
    from .connect import *

  File "c:\users\user\appdata\local\programs\python\python36-32\lib\site-packages\ipykernel\connect.py", line 13, in <module>
    from IPython.core.profiledir import ProfileDir

  File "c:\users\user\appdata\local\programs\python\python36-32\lib\site-packages\IPython\__init__.py", line 55, in <module>
    from .terminal.embed import embed

  File "c:\users\user\appdata\local\programs\python\python36-32\lib\site-packages\IPython\terminal\embed.py", line 17, in <module>
    from IPython.terminal.ipapp import load_default_config

  File "c:\users\user\appdata\local\programs\python\python36-32\lib\site-packages\IPython\terminal\ipapp.py", line 34, in <module>
    from IPython.extensions.storemagic import StoreMagics

**ModuleNotFoundError: No module named 'IPython.extensions'**

[W 06:46:39.450 NotebookApp] KernelRestarter: restart failed

[W 06:46:39.450 NotebookApp] Kernel 0d0442a9-c92f-46e6-acdd-08ca0a18c5f2 died, removing from map.

ERROR:root:kernel 0d0442a9-c92f-46e6-acdd-08ca0a18c5f2 restarted failed!
[W 06:46:39.461 NotebookApp] 410 DELETE /api/sessions/67987236-8755-433a-afcb-e052ccbf65b9 (::1): Kernel deleted before session

**[W 06:46:39.461 NotebookApp] Kernel deleted before session**

[W 06:46:39.461 NotebookApp] 410 DELETE /api/sessions/67987236-8755-433a-afcb-e052ccbf65b9 (::1) 1.00ms 

referer=http://localhost:8888/notebooks/Untitled5.ipynb?kernel_name=python3## Heading ##

【问题讨论】:

请将错误输出添加为文本,而不是图像。 可能有东西干扰了您尝试使用的端口。 @data83 我确信没有任何东西干扰端口,因为 jupyter 笔记本工作正常,因为文本编辑器问题仅在我创建 python 3 笔记本时出现,python 3 内核死亡。 @KlausD。将错误输出添加为文本,如果您能帮助我,请立即查看。 【参考方案1】:

有时,确定 jupyter notebook 内核死机的原因可能令人生畏。当内核因库问题而死时,您可能不会得到任何关于导致它的原因的反馈。尝试在终端或 ipython 中运行导致内核死机的代码。我发现的一个常见问题是在更高版本的 tensorflow 中使用 SSE4.1,这会导致此错误: TensorFlow library was compiled to use SSE4.1 instructions, but these aren't available on your machine. Aborted (core dumped)。如果您在代码中使用 tensorflow 并且在 notebook 中不显示任何错误,这将导致内核死机。如果是这种情况,请卸载 tensorflow 并使用 conda 安装: conda install tensorflow==1.12.0,例如。

【讨论】:

你让我很开心兄弟! 上帝,你救救我! 赞成“尝试在终端或 ipython 中运行导致内核死机的代码。”【参考方案2】:

与您的问题不完全相同,但我发现我的内核在使用时一直死机

exit()

我的类方法之一中的命令。删除这个 exit() 命令可以阻止我的内核死机。

【讨论】:

帮我解决了,有道理!【参考方案3】:

您可以尝试重新安装 Jupyter,

pip uninstall jupyter
pip install jupyter

然后再试一次,这在我的情况下有效。我升级到 Ubuntu 18.04 时遇到了这个问题。

也检查这个线程。 https://github.com/jupyter/notebook/issues/1892

【讨论】:

【参考方案4】:

如果有内核备份,也可能发生这种情况。我关闭了服务器,它告诉我关闭了 4 个内核。显然我有一些旧的失控内核。当我重新启动服务器时,创建了一个新的新内核,我又重新开始工作了。

【讨论】:

【参考方案5】:

好吧,我遇到了同样的问题,但是当我使用 matplotlib 并尝试绘制库时,我遇到了与 spyder 相同的问题。猜想尝试更新库应该可以解决它。通过 Anaconda 使用 Jupyter,也可能是 anaconda 问题。

【讨论】:

正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。【参考方案6】:

请尝试卸载所有:

ipykernel ipython jupyter_client jupyter_core 特质 ipython_genutils

然后重新安装。

在尝试了许多其他解决方案后,它对我有用。实际上是库冲突的问题导致了这个问题。

【讨论】:

以上是关于内核在jupyter笔记本中不断死亡的主要内容,如果未能解决你的问题,请参考以下文章

Jupyter:内核似乎已经死亡。它将自动重启。 (与Keras相关)

Jupyter笔记本 - Dead Kernel

丢失 jupyter notebook ssh 连接会杀死内核

Python Jupyter Notebook 无法运行代码 - 不断重新连接

在笔记本中组合jupyter / ipython内核

R和Julia内核在Jupyter笔记本中不可用