Когда я пытаюсь запустить команду 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 есть какой-то конфликт.
На моем компьютере установлена Anaconda для Python 2.7, но недавно мне пришлось установить Spyder для 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
EDIT:
Я выполнил команду
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
(все еще появляется та же ошибка)