Jupyter笔记本启动错误

leq*_*eqo 2 python jupyter-notebook

当我尝试运行该命令时jupyter-notebook,出现以下错误:

`Traceback (most recent call last):
  File "/home/leo/anaconda2/bin/jupyter-notebook", line 7, in <module>
    from notebook.notebookapp import main
  File "/usr/lib/python3/dist-packages/notebook/notebookapp.py", line 31, in <module>
    from zmq.eventloop import ioloop
  File "/usr/lib/python3/dist-packages/zmq/__init__.py", line 34, in <module>
    from zmq import backend
  File "/usr/lib/python3/dist-packages/zmq/backend/__init__.py", line 40, in <module>
    reraise(*exc_info)
  File "/usr/lib/python3/dist-packages/zmq/backend/__init__.py", line 27, in <module>
    _ns = select_backend(first)
  File "/usr/lib/python3/dist-packages/zmq/backend/select.py", line 26, in select_backend
    mod = __import__(name, fromlist=public_api)
  File "/usr/lib/python3/dist-packages/zmq/backend/cython/__init__.py", line 6, in <module>
    from . import (constants, error, message, context,
ImportError: cannot import name constants
Run Code Online (Sandbox Code Playgroud)

我遇到的许多解决方案都需要卸载并重新安装pyzmq软件包(通过 pip、conda、apt install;我已经尝试了所有这些)。但这对我不起作用。

然而,看看我得到的错误,我认为第二行有问题,就在这里:"/usr/lib/python3/dist-packages/notebook/notebookapp.py"。看起来我的两个版本的 Python 之间存在一些冲突。

我的 PC 上安装了 Anaconda for Python 2.7,但最近我必须安装 Spyder for Python 3.x。可能是安装后某些东西被损坏了吗?

我已经尝试过的:

  • 卸载/重新安装 pyzmq
  • 卸载/重新安装 jupyter
  • 尝试运行jupyter kernelspec list,但遇到类似的错误(这让我认为实际上存在冲突):

    Traceback (most recent call last): File "/home/leo/anaconda2/bin/jupyter-kernelspec", line 7, in <module> from jupyter_client.kernelspecapp import KernelSpecApp File "/usr/lib/python3/dist-packages/jupyter_client/__init__.py", line 4, in <module> from .connect import * File "/usr/lib/python3/dist-packages/jupyter_client/connect.py", line 22, in <module> import zmq File "/usr/lib/python3/dist-packages/zmq/__init__.py", line 34, in <module> from zmq import backend File "/usr/lib/python3/dist-packages/zmq/backend/__init__.py", line 40, in <module> reraise(*exc_info) File "/usr/lib/python3/dist-packages/zmq/backend/__init__.py", line 27, in <module> _ns = select_backend(first) File "/usr/lib/python3/dist-packages/zmq/backend/select.py", line 26, in select_backend mod = __import__(name, fromlist=public_api) File "/usr/lib/python3/dist-packages/zmq/backend/cython/__init__.py", line 6, in <module> from . import (constants, error, message, context, ImportError: cannot import name constants


编辑:

我已经运行命令

pip3 uninstall jupyter
Run Code Online (Sandbox Code Playgroud)

正如Sangram Gaikwad所建议的,所以现在我不再使用错误的 jupyter 笔记本了。但是,如果我尝试执行jupyter-notebook,现在我会收到另一个错误:

Traceback (most recent call last):
  File "/home/leo/anaconda2/bin/jupyter-notebook", line 7, in <module>
    from notebook.notebookapp import main
  File "/home/leo/anaconda2/lib/python2.7/site-packages/notebook/__init__.py", line 25, in <module>
    from .nbextensions import install_nbextension
  File "/home/leo/anaconda2/lib/python2.7/site-packages/notebook/nbextensions.py", line 27, in <module>
    from jupyter_core.utils import ensure_dir_exists
ImportError: cannot import name ensure_dir_exists
Run Code Online (Sandbox Code Playgroud)

我尝试过的:

  • conda update jupyter_core jupyter_client(它说它们已经安装了)

  • conda uninstall jupyter notebook,然后conda install jupyter notebook(仍然得到相同的错误)

小智 6

我也遇到过同样的问题。许多帖子建议运行以下两个命令来修复它:
pip3 uninstall pyzmq

pip3 install pyzmq

但是,真正对我有用的是运行这个命令:

pip3 install --upgrade pyzmq jupyterlab jupyter --force-reinstall