August 8, 2021

Создаем свои расширения в Ipython

В данной статье рассмотрим, как создавать собственные и запускать готовые расширения в IPython для автоматизации выполнения рутинных действий, добавления новой функциональности и модификации поведения оболочки.

Процесс создания расширения описан в мануале. В директорию с файлами расширений ipython (по умолчанию находится по адресу ~\.ipython\extensions) помещается питоновский файл с двумя функциями следующего вида:

Затем модуль загружается магической командой (происходит вызов соответствующей функции):

%load_ext имя

Для осуществления перезагрузки и выгрузки модуля можно воспользоваться командами:

%reload_ext имя
%unload_ext имя

Они сопровождаются вызовами соответствующих функций из файла расширения (в случае %reload - сначала unload_ipython_extension, затем load_ipython_extension).

Продемонстрируем их работу на простеньком примере. Создадим расширение с именем my_ext (а файл - my_ext.py) и следующим содержанием:

Сначала загрузим модуль:

а теперь перезагрузим и выгрузим:

Также можно предусмотреть автоматическую загрузку расширения на старте самого IPython. Для этого в конфигурационный файл (по адресу ~\.ipython\profile_default\ipython_config.py) требуется добавить расширение:

c.InteractiveShellApp.extensions = [
    'имя_расширения'
]

Если конфигурационный файл отсутствует, его можно создать командой:

ipython profile create [имя]

Подробнее о создании профилей, можно прочитать здесь.