永远重复“内核死亡,重新启动”

Posted

技术标签:

【中文标题】永远重复“内核死亡,重新启动”【英文标题】:Repeated "Kernel died, restarting" forever 【发布时间】:2017-01-31 20:27:12 【问题描述】:

当我尝试跑步时

$ jupyter qtconsole

控制台出现,并显示消息

Kernel died, restarting
________________________
Kernel died, restarting
________________________
Kernel died, restarting
________________________
Kernel died, restarting
________________________
Kernel died, restarting
________________________

继续。

尝试$ jupyter qtconsole --debug 没有打印任何其他内容,也没有添加

c.Application.log_level = 0
c.Session.debug = True

转入$USERHOME/.jupyter/jupyter_qtconsole_config.py

另外,我在 $USERHOME/.ipython/profile_default/log/ 和附近的其他目录中什么也没找到。

自上次启动 jupyter-qtconsole 以来,我的配置没有任何变化。

我怎样才能至少找出内核出了什么问题?在 Jupyter 中肯定有一些选项可以获取内核的 STDERR 输出,看看是什么异常让它不高兴?

【问题讨论】:

我提到了一种适用于 tensorflow 2 kernel autorestart 的解决方案 【参考方案1】:

运行这个-

conda remove ipykernel ipython jupyter_client jupyter_core traitlets ipython_genutils

conda clean -tipsy

conda install ipykernel ipython jupyter_client jupyter_core traitlets ipython_genutils

jupyter notebook

【讨论】:

【参考方案2】:

我跑

spyder --show-console

当我在 spyder 中接收时

内核死机,正在重新启动

我在控制台中看到消息

英特尔 MKL 致命错误:无法加载 libmkl_p4m.so 或 libmkl_p4.so。

对我很有帮助

conda install nomkl numpy scipy scikit-learn numexpr
conda remove mkl mkl-service

【讨论】:

【参考方案3】:

检查日志。我遇到了同样的问题,我的日志显示no module named ipykernel_launcher。所以,我只是pip install ipykernel 解决了这个问题。

【讨论】:

如何查看日志? 在您启动 jupyter notebook 的终端中【参考方案4】:

我尝试了几种解决方案,最后我找到了一个真正有效的解决方案。 您只需为您的防病毒和/或防火墙添加例外。 我目前使用 Avast,所以添加一个关于我安装 Anaconda 的文件夹和虚拟环境的异常解决了这个问题,现在 Spyder 可以作为一个魅力。

【讨论】:

【参考方案5】:

在尝试使用pandas到read data in clipboard时遇到这个问题,在Anaconda3的Spyder编辑器中尝试了很多次。我也尝试通过更新 Spyder 和其他 Anaconda3 包来解决问题,但未能解决。

最后,不使用 Anaconda3,在另一台 PC 上安装 python 3.5.3,然后 pip install pandas,错误解除。

【讨论】:

【参考方案6】:

鉴于内核是另一个进程,我能够使用 Process Explorer 捕获它启动时使用的命令行。命令行是

$ pythonw -m ipykernel -f "$USERHOME/AppData/Roaming/jupyter/runtime/kernel-2744.json"

然后,我刚刚启动python 并尝试导入ipykernel,得到了这个:

$ python
Python 2.7.12 [...] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import ipykernel
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Programs\Python2712\lib\site-packages\ipykernel\__init__.py", line 2,
 in <module>
    from .connect import *
  File "C:\Programs\Python2712\lib\site-packages\ipykernel\connect.py", line 13,
 in <module>
    from IPython.core.profiledir import ProfileDir
  File "C:\Programs\Python2712\lib\site-packages\IPython\__init__.py", line 48,
in <module>
    from .core.application import Application
  File "C:\Programs\Python2712\lib\site-packages\IPython\core\application.py", l
ine 25, in <module>
    from IPython.core import release, crashhandler
  File "C:\Programs\Python2712\lib\site-packages\IPython\core\crashhandler.py",
line 28, in <module>
    from IPython.core import ultratb
  File "C:\Programs\Python2712\lib\site-packages\IPython\core\ultratb.py", line
119, in <module>
    from IPython.core import debugger
  File "C:\Programs\Python2712\lib\site-packages\IPython\core\debugger.py", line
 36, in <module>
    from IPython.utils import PyColorize, ulinecache
  File "C:\Programs\Python2712\lib\site-packages\IPython\utils\PyColorize.py", l
ine 55, in <module>
    from IPython.utils.py3compat import PY3
  File "C:\Programs\Python2712\lib\site-packages\IPython\utils\py3compat.py", li
ne 296, in <module>
    PYPY = platform.python_implementation() == "PyPy"
AttributeError: 'module' object has no attribute 'python_implementation'
>>> exit()

这很快导致了问题,正如this answer 中所述,我试图在其中启动jupyter qtconsole 的目录有一个名为platform 的子目录,它与模块的名称冲突。

虽然这修复了“内核死亡,重新启动”的特定实例,但一般问题仍然存在:如何确保堆栈跟踪(如上面的那个)报告给 Jupyter 控制台的用户,而不是内核死亡默默地?

【讨论】:

【参考方案7】:

如果启动jupyter qtconsole的工作目录中包含一些特殊字符,则可能会反复出现“Kernel dead, restarting”错误。

对我来说,我从一个工作目录中启动了jupyter qtconsole,该目录的路径包含空格和与号 (&)。当我将目录更改为根驱动器(在我的情况下为 D:/)时,问题就消失了。

【讨论】:

【参考方案8】:

我在运行import Tensorflow as tf 时遇到了类似的问题。 降级到Tensorflow 1.5版本后,问题得到解决。

尝试卸载 TensorFlow:

pip uninstall tensorflow

然后重新安装1.5:

pip install tensorflow==1.5

【讨论】:

【参考方案9】:

Jupyter_client 和 jupyter_core 版本已发布(并包含此问题的修复程序),您是否介意尝试以下操作:

1. pip install jupyter_client --upgrade - 这应该将修改后的 jupyter_client 包替换为 5.3.4 版本并安装更新版本的 jupyter_core (4.6.0)

2。如果您发现 jupyter_core 不是 4.6.0 - 请尝试 pip install jupyter_core --upgrade。

在此处查看主题:https://github.com/jupyter/notebook/issues/4907

【讨论】:

【参考方案10】:

我遇到了同样的问题。我删除了 C:\Users\youruser\AppData\Roaming\jupyter\runtime 的内容,然后再次运行 jupyter notebook。这对我很有帮助。

【讨论】:

【参考方案11】:

最小化你的 batch_size 它对我有用

我尝试更新 ipykernel 并且我更新了我的 numpy 似乎没有任何用处。只是最小化了我的批次它正在工作

【讨论】:

请添加更多解释为什么它有效,否则答案可能会被折叠。【参考方案12】:

就我而言,更新 Numpy、重新安装 jupyter、重新安装 anaconda、使用 conda 安装模块都不适用于我......

我只是删除了 CUDNN 文件夹,仅此而已...

【讨论】:

以上是关于永远重复“内核死亡,重新启动”的主要内容,如果未能解决你的问题,请参考以下文章

如何在 unix 中守护任意脚本?

React-native 应用程序永远不会重新启动以处理 iOS 中的位置更新

菜单栏应用程序永远不会重新激活

AMQP 连接丢失不会杀死父进程,因此永远不会发生重新连接

无法重新启动线程[重复]

重复动画重新启动按钮的位置