«ModuleNotFoundError: нет модуля с именем notebook.config_manager» или «ошибка ядра в блокноте jupyter» - PullRequest
0 голосов
/ 27 октября 2018

Я допустил проблему с юпитером в системе conda, как в заголовке.

версия:

  • Ubuntu 16.04 LTS
  • Конда 4.3.30
  • jupyter 4.4.0 (я удаляю, а затем снова устанавливаю после вышеуказанной ошибки)

Я сделал следующее (вкратце)

source activate my_env1

pip install jupyter_contrib_nbextensions
# (I'm aware that I should have used conda install...)
jupyter contrib nbextension install --user
jupyter nbextension enable codefolding/main
jupyter contrib nbextensions migrate

pip install RISE
jupyter-nbextension install rise --py --sys-prefix
jupyter-nbextension enable rise --py --sys-prefix

Обратите внимание, что до вышеперечисленных проблем не возникает.


1. Ошибка у ноутбука jupyter

Затем, после запуска jupyter notebook в «my_env1» и открытия ноутбука, он не может подключиться к ядру со следующим сообщением:

ERROR:tornado.general:Uncaught exception in ZMQStream callback
Traceback (most recent call last):
  File "***my_env1***/lib/python3.6/site-packages/zmq/eventloop/zmqstream.py", line 432, in _run_callback
    callback(*args, **kwargs)
  File "***my_env1***/lib/python3.6/site-packages/tornado/stack_context.py", line 277, in null_wrapper
    return fn(*args, **kwargs)
  File "***my_env1***/lib/python3.6/site-packages/ipykernel/kernelbase.py", line 283, in dispatcher
    return self.dispatch_shell(stream, msg)
  File "***my_env1***/lib/python3.6/site-packages/ipykernel/kernelbase.py", line 233, in dispatch_shell
    self.pre_handler_hook()
  File "**  *my_env1***/lib/python3.6/site-packages/ipykernel/kernelbase.py", line 248, in pre_handler_hook
    self.saved_sigint_handler = signal(SIGINT, default_int_handler)
  File "***my_env1***/lib/python3.6/signal.py", line 47, in signal
    handler = _signal.signal(_enum_to_int(signalnum), _enum_to_int(handler))
ValueError: signal only works in main thread

2. Ошибка с командой jupyter в другой среде conda

В другой среде, обозначенной "my_env2", любая команда, такая как jupyter XXX, останавливается со следующим сообщением об ошибке:

Traceback (most recent call last):
  File "***my_env2***/bin/jupyter-notebook", line 4, in <module>
    import notebook.notebookapp
  File "***my_env2***/lib/python3.6/site-packages/notebook/__init__.py", line 25, in <module>
    from .nbextensions import install_nbextension
  File "***my_env2***/lib/python3.6/site-packages/notebook/nbextensions.py", line 31, in <module>
    from .config_manager import BaseJSONConfigManager
ModuleNotFoundError: No module named 'notebook.config_manager'

Посвящение в ~/.jupyter/jupyter_notebook_config.json:

{                                                                               
  "NotebookApp": {
    "nbserver_extensions": {
      "nbpresent": true,
      "jupyter_nbextensions_configurator": true
    }   
  }
} 

Что я сделал, чтобы решить эту проблему

Однако следующие испытания не помогли.

  • переустановить jupyter через conda
  • отключить nbextension, но оно не сработало из-за вышеуказанной ошибки
  • убрать файлы конфигурации в ~ / .jupyter / (и отменить после проверки это не помогло)
  • установка ноутбука jupyter из источника https://github.com/jupyter/notebook но pip install . возвращает сообщение Failed to run bower: [Errno 2] No such file or directory: 'bower': 'bower' (интересно, почему для этого требуется bower, а не пробовать)

Вопрос

У меня так просто:

  • Как я могу решить это?

Если не хватает информации, пожалуйста, сообщите мне. Спасибо.


Комментарий

Я использовал nbextension в другой среде (скажем, my_env3), созданной ранее той же anaconda3, и в то время у меня не было проблем.

...