Как использовать ContentsManager для Jupyter?

#python #python-3.x #jupyter-notebook #jupyter #jupyter-lab

Вопрос:

Я читал о Jupyter ContentsManager, но понятия не имею, как его использовать, и документация действительно плохая. Что мне делать? Где я могу запустить его и как подключить его к моей среде Jupyter и записным книжкам?

Комментарии:

1. Чего вы пытаетесь достичь с помощью ContentsManager?

2. Документация находится здесь .

3. @крассовски прежде всего: Как мне сказать jupyter, чтобы он использовал мой собственный ContentsManager?

4. См.Ответ ниже. Хотя есть вероятность, что вам не нужен пользовательский ContentsManager.

Ответ №1:

Чтобы поменять менеджер содержимого в JupyterLab 3.0 , работающий на новом сервере jupyter (это способ работы по умолчанию, но если вы работаете на JupyterHub, он все равно может использовать старый сервер ноутбуков), создайте jupyter_server_config.py файл; вы можете автоматически сгенерировать его в соответствующем месте с помощью:

 jupyter server --generate-config
 

и установите класс content manager для своего собственного менеджера:

 c.ServerApp.contents_manager_class = "python.module.for.your.ContentsManagerSubclass"
 

Этот параметр описан в списке параметров конфигурации сервера jupyter.

(в качестве альтернативы вы можете использовать файл json). Для более старых версий JupyterLab или если по какой-то странной причине вы используете старую записную книжку, которую вы захотите использовать jupyter_notebook_config.py там, где была названа эта опция c.NotebookApp.contents_manager_class . Вы можете прочитать больше об этой теме здесь — хотя примеры ссылаются на старый способ ведения записей, поэтому вам нужно будет соответствующим образом обновить.

Вам также может быть интересно узнать, как jupytext меняет местами менеджеры контента, реагирующие на пользовательские настройки, см. Код здесь.

Комментарии:

1. Спасибо за всю эту информацию. И нужно ли мне выполнять какие-либо дополнительные действия при запуске jupyter, чтобы использовалась моя пользовательская конфигурация, а не конфигурация по умолчанию?

2. Нет. Примечание. конфигурация должна находиться в стандартном расположении, которое распознается jupyter. Если вы создадите его с помощью приведенной выше команды, он уже будет там; в противном случае смотрите jupyter --paths и читайте документацию здесь и здесь .