Работа ноутбука Jupyter в Chrome застревает при перезагрузке сервера - PullRequest
0 голосов
/ 06 июля 2018

Я начинаю с рабочей настройки Jupyter, и все работает просто отлично. Я могу без проблем прервать или перезапустить ядро ​​с ноутбука.

Если, однако, я изменил конфигурацию jupyter или установил несколько модулей и перезапустил сервер jupyter - мне пришлось ждать около 5 минут, пока открытые ноутбуки восстановили доступ к ядру python .

Чтобы воспроизвести проблему:

  1. Запуск Jupyter (локальная оболочка)

    блокнот Jupyter

  2. В Chrome создайте новый блокнот (python 3), в результате чего URL будет выглядеть следующим образом:

    http://localhost:8888/notebooks/Untitled1.ipynb?kernel_name=python3

  3. Создайте и запустите одну ячейку в этой новой записной книжке:

    печать (1)

  4. Перезапустите jupyter (Ctrl-C, затем [да], чтобы выйти), затем:

    блокнот Jupyter

  5. Перейдите на ту же вкладку Chrome с той же записной книжкой на одну ячейку и нажмите OK для всплывающего окна "Connection failed"

  6. Обратите внимание, что в блокноте отображается: [Connecting to Kernel] безуспешно.

  7. Попытайтесь перезапустить ядро ​​через меню, обычно оно застревает в [Kernel Starting...], и после нескольких принудительных перезапусков ядра, оно предположительно завершается [Kernel Created], но это ложный успех, так как попытка запустить ячейки дает [*] знак занятости и ничего не происходит.

Через 5 минут ожидания он восстанавливается сам.

Обходные:

  • Перезагрузка ноутбука в браузере (т. Е. Нажатие кнопки «Перезагрузить» на уровне браузера)
  • Перезапуск хрома

Программное обеспечение:

  • Ubuntu 16.04
  • Записная книжка 5.5.0
  • питон 3.6.6
  • хром 67
  • ПО adblock не включено
  • empty ~ / .jupyter (удалено все для тестирования, поэтому нет расширений или пользовательской конфигурации)

Та же настройка отлично работает в Firefox на той же машине.

Есть несколько билетов на github примерно одинаковых с 2015 года (например, это , но почему-то они винят в этом хром, и, очевидно, проблема все еще существует 3 года спустя.

Есть идеи, как это решить?

Спасибо.

А вот журнал во время процесса восстановления / перезагрузки открытого ноутбука:

[I 22:54:09.032 NotebookApp] Kernel restarted: 9aa08efb-74b1-471c-ad0f-bb9dc3577c28
[W 22:54:09.343 NotebookApp] Replacing stale connection: 6cc8a446-1dc0-4c01-86ab-f95ae99c24af:10a12a1b834f43298fb9e6f344bc6b26
[W 22:54:45.348 NotebookApp] Replacing stale connection: 6cc8a446-1dc0-4c01-86ab-f95ae99c24af:10a12a1b834f43298fb9e6f344bc6b26
[W 22:55:37.359 NotebookApp] Replacing stale connection: 6cc8a446-1dc0-4c01-86ab-f95ae99c24af:10a12a1b834f43298fb9e6f344bc6b26
[W 22:57:01.367 NotebookApp] Replacing stale connection: 6cc8a446-1dc0-4c01-86ab-f95ae99c24af:10a12a1b834f43298fb9e6f344bc6b26
[I 22:57:41.337 NotebookApp] Adapting to protocol v5.1 for kernel 9aa08efb-74b1-471c-ad0f-bb9dc3577c28
[W 22:57:41.350 NotebookApp] Replacing stale connection: 9aa08efb-74b1-471c-ad0f-bb9dc3577c28:768880fb9a244da99735e983bd6c36c6
[I 22:57:41.351 NotebookApp] Starting buffering for 9aa08efb-74b1-471c-ad0f-bb9dc3577c28:768880fb9a244da99735e983bd6c36c6
[I 22:57:41.351 NotebookApp] Adapting to protocol v5.1 for kernel 9aa08efb-74b1-471c-ad0f-bb9dc3577c28
[I 22:57:41.352 NotebookApp] Restoring connection for 9aa08efb-74b1-471c-ad0f-bb9dc3577c28:768880fb9a244da99735e983bd6c36c6
[I 22:57:49.324 NotebookApp] Starting buffering for 9aa08efb-74b1-471c-ad0f-bb9dc3577c28:768880fb9a244da99735e983bd6c36c6
[I 22:57:49.327 NotebookApp] Adapting to protocol v5.1 for kernel 9aa08efb-74b1-471c-ad0f-bb9dc3577c28
[I 22:57:49.328 NotebookApp] Restoring connection for 9aa08efb-74b1-471c-ad0f-bb9dc3577c28:768880fb9a244da99735e983bd6c36c6

1 Ответ

0 голосов
/ 07 июля 2018

Это функция безопасности, с Chrome все в порядке, просто она автоматически перезагружается через 5 минут, потому что вы как-то переключаетесь между вкладками.

если вы открываете сайт при входе в систему, все, что вы видите, это основной URL сайта (не ваш пароль), то же самое для нового ноутбука Jupyter, вам нужен специальный (случайный) ключ, который работает так же, как пароль, чтобы получить сервер jupyter работает на первом месте перед запуском любых ядер, и это происходит автоматически, когда вы запускаете jupyter и открывается вкладка «main», браузер сохраняет ключ для любой новой вкладки открытой (или обновленной)

вы просто вышли из системы, если не обновляли старую страницу,

эта функция используется для защиты вас от людей, наблюдающих за тем, что вы отправляете на общедоступный веб-сервер

Хотя я все еще не вижу смысла в вашем случае (сохраните страницу, но перезапустите сервер), это все равно, что остановить сервер, но ожидать, что интерфейс все еще будет функционировать!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...