当我尝试运行命令 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 上安装了 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
正如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
(仍然得到相同的错误)
最佳答案
我也遇到过同样的问题。许多帖子建议运行以下两个命令来修复它:
pip3卸载pyzmq
pip3 安装 pyzmq
但是,真正对我有用的是运行这个命令:
pip3 install --upgrade pyzmq jupyterlab jupyter --force-reinstall
关于python - Jupyter笔记本启动错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50169890/