从 IPython 5.x 升级到 6.0 导致崩溃,原因是 IPython.utils.warn

Upgrading from IPython 5.x to 6.0 results in crash due to IPython.utils.warn

我最近通过 condo update ipython 从 IPython 5.x 升级到 6.0。但是,我在内核中崩溃了:

Traceback (most recent call last):
  File "//anaconda/lib/python3.5/runpy.py", line 170, in _run_module_as_main
    "__main__", mod_spec)
  File "//anaconda/lib/python3.5/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "//anaconda/lib/python3.5/site-packages/ipykernel/__main__.py", line 2, in <module>
    from ipykernel import kernelapp as app
  File "//anaconda/lib/python3.5/site-packages/ipykernel/kernelapp.py", line 37, in <module>
    from .ipkernel import IPythonKernel
  File "//anaconda/lib/python3.5/site-packages/ipykernel/ipkernel.py", line 15, in <module>
    from .zmqshell import ZMQInteractiveShell
  File "//anaconda/lib/python3.5/site-packages/ipykernel/zmqshell.py", line 46, in <module>
    from IPython.utils.warn import error
ImportError: No module named 'IPython.utils.warn'
[I 18:35:28.928 NotebookApp] KernelRestarter: restarting kernel (1/5)

显然,问题是从版本 6.0.0 开始,IPython.utils.warnhas now been removed 已被弃用。我该如何解决这个问题?

注意:以下 none 个有效:

pip install --upgrade ipython
pip install --upgrade jupyter 
pip install --upgrade --no-deps --force-reinstall ipython
pip install --upgrade --no-deps --force-reinstall jupyter

+1 个同样的问题。

解决方法是降级到 iPython 的最新可用 5.x 版本(目前是通过 conda search ipython 找到的 5.3.0):

conda install ipython=5.3.0

现在Jupyter笔记本内核可以重新启动了。

我遇到了同样的问题。以下行为我解决了这个问题:

conda update ipykernel

我不知道为什么这不是自动完成的。