Ошибка ядра: jupyter_client / connect.py AssertionError - PullRequest
1 голос
/ 03 октября 2019

Сообщение об ошибке

Traceback (most recent call last):
      File "/home/djan/anaconda3/lib/python3.7/site-packages/tornado/web.py", line 1699, in _execute
        result = await result
      File "/home/djan/anaconda3/lib/python3.7/site-packages/tornado/gen.py", line 742, in run
        yielded = self.gen.throw(*exc_info)  # type: ignore
      File "/home/djan/anaconda3/lib/python3.7/site-packages/notebook/services/sessions/handlers.py", line 72, in post
        type=mtype))
      File "/home/djan/anaconda3/lib/python3.7/site-packages/tornado/gen.py", line 735, in run
        value = future.result()
      File "/home/djan/anaconda3/lib/python3.7/site-packages/tornado/gen.py", line 742, in run
        yielded = self.gen.throw(*exc_info)  # type: ignore
      File "/home/djan/anaconda3/lib/python3.7/site-packages/notebook/services/sessions/sessionmanager.py", line 88, in create_session
        kernel_id = yield self.start_kernel_for_session(session_id, path, name, type, kernel_name)
      File "/home/djan/anaconda3/lib/python3.7/site-packages/tornado/gen.py", line 735, in run
        value = future.result()
      File "/home/djan/anaconda3/lib/python3.7/site-packages/tornado/gen.py", line 742, in run
        yielded = self.gen.throw(*exc_info)  # type: ignore
      File "/home/djan/anaconda3/lib/python3.7/site-packages/notebook/services/sessions/sessionmanager.py", line 101, in start_kernel_for_session
        self.kernel_manager.start_kernel(path=kernel_path, kernel_name=kernel_name)
      File "/home/djan/anaconda3/lib/python3.7/site-packages/tornado/gen.py", line 735, in run
        value = future.result()
      File "/home/djan/anaconda3/lib/python3.7/site-packages/tornado/gen.py", line 209, in wrapper
        yielded = next(result)
      File "/home/djan/anaconda3/lib/python3.7/site-packages/notebook/services/kernels/kernelmanager.py", line 168, in start_kernel
        super(MappingKernelManager, self).start_kernel(**kwargs)
      File "/home/djan/anaconda3/lib/python3.7/site-packages/jupyter_client/multikernelmanager.py", line 110, in start_kernel
        km.start_kernel(**kwargs)
      File "/home/djan/anaconda3/lib/python3.7/site-packages/jupyter_client/manager.py", line 240, in start_kernel
        self.write_connection_file()
      File "/home/djan/anaconda3/lib/python3.7/site-packages/jupyter_client/connect.py", line 547, in write_connection_file
        kernel_name=self.kernel_name
      File "/home/djan/anaconda3/lib/python3.7/site-packages/jupyter_client/connect.py", line 212, in write_connection_file
        with secure_write(fname) as f:
      File "/home/djan/anaconda3/lib/python3.7/contextlib.py", line 112, in __enter__
        return next(self.gen)
      File "/home/djan/anaconda3/lib/python3.7/site-packages/jupyter_client/connect.py", line 105, in secure_write
        assert '0600' == oct(stat.S_IMODE(os.stat(fname).st_mode)).replace('0o', '0')
    AssertionError

Информация о системе

Запуск Jupyter (v. 1.0.0) на сервере Linux с 64-разрядной версией anaconda3 (v. 2019.07).

Доступные ядра

Доступные ядра:
python3 /home/djan/.local/share/jupyter/kernels/python3
nn /home/djan/.local/share/jupyter/kernels/ nn

Воспроизведение проблемы

  1. Установите новейшую версию anaconda3.
  2. Запустите записную книжку Jupyter в базовой версии -> Ядро работает нормально
  3. Создайте новую среду с Python: conda create -n test python=3.7
  4. После активации среды блокнот Jupyter недоступен, поэтому я должен установить его через Conda: conda install -c anaconda jupyter
  5. Запустить блокнот Jupyter втестовая среда -> Ядро выходит из строя, как объяснено выше

То, что я пробовал до сих пор

Кажется, есть проблема с правами доступа к файлам при запуске Jupyter на сервере в среде Conda,Я попытался предоставить всем файлам в папке anaconda3 запрошенные разрешения (0600), но это не помогло.

1 Ответ

1 голос
/ 03 октября 2019

Обновление

Оказывается, что новейшая версия jupyter_client, доступная под anaconda как версия 5.3.3, нарушает среду Jupyter на сервере.

Установка предыдущей версииjupyter_client с помощью следующей команды исправляет эту проблему:

conda install -c anaconda jupyter_client=5.3.1

...