Шаблон по умолчанию для записной книжки iPython (с использованием Jupyter)

В первой ячейке каждого блокнота iPython (Jupyter) я почти всегда набираю:

%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np

Есть ли способ сделать так, чтобы эта ячейка отображалась вверху каждой новой записной книжки, которую я создаю по умолчанию?

Например, можно ли где-нибудь сохранить файл шаблона .ipynb, который iPython копирует при создании новой записной книжки?

(Я нашел этот вопрос, но, похоже, он больше касается css, чем содержимого по умолчанию в ячейках.)


person Bill Cheatham    schedule 30.11.2015    source источник
comment
Думаю, это было бы полезно. Я не думаю, что на данный момент это существует.   -  person cel    schedule 30.11.2015


Ответы (3)


Есть довольно крутое решение с использованием jupyterlab: jupyterlab_templates.

Установка заняла около 5 минут, и у вас может быть столько

шаблоны по своему усмотрению.

Пользователи Mac

Предполагая, что у вас установлен conda, чем во время установки, вам необходимо установить node js engine:

  • conda install -c conda-forge nodejs

И создайте jupter_noteook_config.py, если у вас его нет:

  • jupyter notebook --generate-config
person oopsi    schedule 05.05.2019
comment
Это определенно самый близкий к моему первоначальному запросу, и приятно, что у вас может быть набор разных шаблонов. - person Bill Cheatham; 10.05.2019

Я знаю, что это может быть не то, что вы ищете (этот пример не подходит для работы с записными книжками, которые необходимо запускать в нескольких средах, например, совместно), но я поместил следующее в файл с именем ipython_config.py в моей папке .ipython.

c.InteractiveShellApp.exec_lines = ['%matplotlib inline',
    'import numpy as np',
    'import scipy.constants as scc',
    'import scipy.integrate as sci',
    'from mpl_toolkits.mplot3d import Axes3D',
    'import scipy.optimize as sco'
]

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

person Riet    schedule 03.12.2015
comment
Настройка неявного импорта в конфигурации портит переносимость ноутбуков. Было бы намного лучше иметь шаблон с явным импортом для ясности, потому что в дзен Python: явное лучше, чем неявное. - person Mike; 17.08.2016
comment
Я сам постоянно возвращаюсь к этому вопросу, чтобы посмотреть, понял ли кто-нибудь его. Я думаю, что это можно сделать с помощью настройки pre_save_hook, который jupyter использует при сохранении записной книжки, но я до сих пор не понял этого. - person Riet; 17.08.2016
comment
Это взлом, но он работает. Я храню файл startup.py (несколько), который в Jupyter представляет собой простой случай вызова% load startup.py. Ничего особенного, кроме быстрого набора, но работает ... - person Time Lord; 03.12.2017
comment
Было бы так здорово, если бы мы могли устанавливать шаблоны, которые оказывались бы в раскрывающемся меню «Новый» в файловом браузере Jupyter. - person ajwood; 10.08.2018

Вы можете сделать это с помощью файлов запуска ipython. Создайте новый файл запуска в профиле по умолчанию, и jupyter автоматически загрузит его при запуске ipython.

 ~/.ipython/profile_default/startup/00-startup.py
person Matthew Fioravante    schedule 29.04.2018
comment
это хорошее решение, но оно не добавляет в блокнот текстовый заголовок. Это проблема при совместном использовании nbs с другими людьми, так как импорт не используется. - person elbOlita; 26.02.2019