【发布时间】:2018-05-04 07:51:54
【问题描述】:
当我尝试运行命令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
我遇到的许多解决方案都需要卸载并重新安装 pyzmq 包(通过 pip、conda、apt install;我都试过了)。但这对我不起作用。
但是,看看我得到的错误,我认为第二行有问题,正是在这里:"/usr/lib/python3/dist-packages/notebook/notebookapp.py"。我拥有的两个 Python 版本之间似乎存在一些冲突。
我的 PC 上安装了适用于 Python 2.7 的 Anaconda,但最近我不得不安装适用于 Python 3.x 的 Spyder。可能是安装后某些东西损坏了?
我已经尝试过的:
- 卸载/重新安装 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
正如 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
我尝试了什么:
conda update jupyter_core jupyter_client(表示已经安装)conda uninstall jupyter notebook,然后是conda install jupyter notebook(仍然报同样的错误)
【问题讨论】: