Ошибка запуска ноутбука Jupyter - PullRequest
0 голосов
/ 04 мая 2018

Когда я пытаюсь запустить команду 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 (все еще появляется та же ошибка)

Ответы [ 2 ]

0 голосов
/ 04 мая 2018

Из вашего профиля я вижу, что вы пользователь Ubuntu. Пакет jupyter-notebook можно установить из стандартных репозиториев Ubuntu в Ubuntu 17.04 и более поздних версиях. Этот ответ было бы неплохо попробовать, если вы используете Ubuntu 17.10 или Ubuntu 18.04 LTS. Если вы еще не используете Ubuntu 18.04, я не думаю, что есть большое преимущество в установке Anaconda в Ubuntu 18.04.

Чтобы установить Jupyter Notebook в Ubuntu 17.04 и 17.10, откройте терминал и введите:

sudo apt install jupyter-notebook jupyter-core python-ipykernel 

Чтобы установить Jupyter Notebook в Ubuntu 18.04 и более поздних версиях, откройте терминал и введите:

sudo apt install python3-notebook jupyter jupyter-core python-ipykernel

python-ipykernel необходим для запуска программ на Python 2.x в Jupyter Notebook, который в противном случае поддерживает только Python 3.x.

Чтобы запустить сервер ноутбука, введите следующую команду:

jupyter notebook

Вы должны увидеть Jupyter Notebook открытым в вашем веб-браузере.

0 голосов
/ 04 мая 2018

Похоже, что ноутбук jupyter и пакет pyzmq не обновлены / не установлены в вашей среде anaconda.

Стек ошибок показывает, что вы используете ноутбук jupyter, установленный в вашем корневом python3 (тот, который присутствует в /usr/bin/python3) вместо anaconda python3 (присутствует в /home/leo/anaconda2/bin).

Как видно из стека трассировки /usr/lib/python3/dist-packages/jupyter_client/__init__.py /usr/lib/python3/dist-packages/zmq/__init__.py

Мое решение:

  • Попробуйте использовать python3.
  • Удалить установленную anaconda2 (sudo rm -rf /home/leo/anaconda2)
  • Удалите все существующие записные книжки jupyter, jupyter_client и pyzmq (sudo pip unistall notebook jupyter_client pyzmq)
  • Установите anaconda3 (с python3), а затем используйте conda для установки ноутбука jupyter. (conda install notebook)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...