Jupyter – это интерактивная среда для работы с кодом, визуализации данных и создания документов, которая позволяет объединять код, текст, изображения, графики и другие элементы в одном документе. Особенно эта среда популярна в области научных вычислений и анализа данных, в области машинного обучения, исследований и образования. С её помощью можно создавать интерактивные отчеты, исследовательские работы, учебные материалы и презентации, интегрируя в них код, текст, формулы, визуализации и даже видео. По сути это отличный инструмент для изучения программирования и экспериментирования с различными блоками кода.
Естественно, что и для алготрейдера, особенного начинающего и познающего все тонкости технического анализа, пытающегося выявить определенные зависимости в рамках создания своей собственной стратегии, Jupyter может стать одним из ключевых инструментов.
Основным компонентом Jupyter является интерактивное приложение под названием Jupyter Notebook, которое позволяет писать и выполнять код в виде ячеек (cells) и моментально видеть результаты выполнения. В Jupyter Notebook вы можете работать с различными языками программирования и, естественно, с Python.
Jupyter также включает Jupyter Lab – более продвинутое интегрированное средство разработки (IDE), предоставляющее более широкие возможности для управления файлами, расширений, терминала и других инструментов.
Сразу же отмечу, что можно не устанавливать Jupyter Notebook, а просто использовать Google Colab – облачный сервис Google, который позволяет создавать и запускать Jupyter Notebooks непосредственно в облаке Google, при этом сервис предоставляет бесплатный доступ к своим вычислительным ресурсам. Google Colab и Jupyter Notebook имеют максимально схожий интерфейс и функционал, т.к. Colab основан на Jupyter Notebook. И в целом Google Colab – очень достойный аналог локальной версии Jupyter Notebook.
Кроме того редактор кода VScode также имеет поддержку для работы с Jupyter Notebooks. Вы можете создавать, открывать, редактировать и запускать Jupyter Notebooks прямо в Visual Studio Code. Чтобы использовать Jupyter Notebooks в VSсode, вам потребуется установить расширение “Python” и настроить его для работы с Jupyter. После установки и настройки вы сможете открывать, создавать, редактировать и запускать Jupyter Notebooks в Visual Studio Code.
Для запуска Jupyter Notebook необходимо:
1) Установить расширение “Python” от Microsoft. 2) Создать виртуальную среду. 3) Открыть командную панель “палитра команд”, представляющей доступ ко всем командам и функциям IDE (интегрированной среды разработки), нажав Ctrl+Shift+P
. 4) Ввести команду “Python: Create New Blank Jupyter Notebook”, что означает “Создать новый пустой Jupyter Notebook”. В результате новый Jupyter Notebook будет создан и откроется в Visual Studio Code.
Я же решил установить и попробовать работать в оригинальной локальной версии Jupyter Lab через браузер.
Начинаем с официального сайта Jupyter – https://jupyter.org/. Описание установки приводится на странице https://jupyter.org/install.
- Для установки Jupyter Notebook вводим команду
pip install notebook
. Для запуска используйте командуjupyter notebook
. - Для установки JupyterLab вводим команду
pip install jupyterlab
. Для запуска используйте командуjupyter lab
.
Лично я решил использовать именно JupyterLab , т.к. это фактически интегрированная среда разработки (IDE) для Jupyter Notebook. JupyterLab имеет такие плюсы, как возможность: а) многопанельной работы, позволяя открывать и работать одновременно с несколькими Notebooks, б) управления файлами и директориями: JupyterLab предоставляет инструменты и возможности для управления файлами и директориями, включая создание, удаление, переименование, перемещение и просмотр содержимого файлов и папок, в) отладчик, который позволяет устанавливать точки останова (breakpoints), запускать код пошагово, просматривать значения переменных во время выполнения программы и многое другое.
Подробная документация по JupyterLab – https://jupyterlab.readthedocs.io/en/stable/index.html. Рекомендую также просмотреть ознакомительное видео, с демонстрацией JupyterLab и его возможностей (я обычно смотрю подобные англоязычные видео с автоматическим аудио переводом через яндекс браузер).
Устанавливаем и запускаем с помощью указанных выше команд – все открывается, но пока с английским интерфейсом. Для установки русского интерфейса необходимо установить дополнение https://pypi.org/project/jupyterlab-language-pack-ru-RU/ с помощью команды pip install jupyterlab-language-pack-ru-RU
.
Итак, JupyterLab установлен.
Для работы используются файлы с расширением .ipynb
, которые представляют собой Jupyter Notebook. Файлы .ipynb
могут быть открыты и редактированы в Jupyter Notebook, JupyterLab и других инструментах, поддерживающих этот формат, например VScode или Google Colab.
Ячейки представляют собой основной элемент в Jupyter Notebook и бывают 2х видов:
- Ячейки с кодом (Code cells): В этих ячейках вы можете писать и выполнять код на выбранном языке программирования (например, Python, R, Julia и другие). Результат выполнения кода отображается прямо под ячейкой.
- Ячейки с текстом (Markdown cells): В таких ячейках вы можете написать текст, оформленный с помощью языка разметки Markdown. Это позволяет вам создавать структурированные описания, комментарии, заголовки, списки, таблицы, ссылки и многое другое.
Ячейки в Jupyter Notebook могут быть перемещены, копированы, вставлены, удаляться, объединяться и разделяться, что обеспечивает гибкость в организации и структурировании вашего кода и текста. Использование ячеек делает работу с кодом и данными более интерактивной и удобной.
В Jupyter Notebook и JupyterLab есть два основных режима: режим навигации и режим редактирования.
Режим навигации используется для перемещения по ячейкам, выделения их, копирования, вставки и других действий без изменения содержимого ячейки. Режим редактирования предназначен для изменения содержимого ячеек, ввода кода или текста в ячейки. Для перехода в режим навигации: нажмите Esc
или кликните мышью вне ячейки. Для перехода в режим редактирования: нажмите Enter
или дважды кликните мышью внутри ячейки.
Для удобства работы предусмотрены быстрые клавиши:
Комбинация клавиш | Режим | Описание |
---|---|---|
ENTER | Навигация | Переключение в режим редактирования |
ESC | Редактирование | Переключение в режим навигации |
ESC + 00 | Навигация | Перезапустить блокнот. Все переменные будут потеряны. |
Shift + Space или Space | Навигация | Прокрутка блокнота: нажатие Space прокрутит блокнот вниз, а Shift + Space — вверх. |
B | Навигация | Вставить новую ячейку ниже (B значит below) |
A | Навигация | Вставить новую ячейку выше (A значит above) |
D, D | Навигация | Удалить ячейку (двойное нажатие клавиши D) |
ESC + Z | Навигация | Отмена удаления ячейки |
CTRL + ENTER | Оба режима | Выполнить код и остаться в ячейке |
SHIFT + ENTER | Оба режима | Выполнить код и перейти в следующую ячейку или создать новую |
y | Навигация | Переключить тип ячейки на ““Code”” |
m | Навигация | Переключить тип ячейки на ““Markdown”” |
CTRL + SHIFT + C | Оба режима | Открыть командную консоль (внимание: данная комбинация отличается от той, что используется в Jupyter Notebook, там это CTRL + SHIFT + P) |
TAB | Редактирование | Автодополнение (дополнение команды, которую вы начали вводить) |
X | Навигация | Вырезать ячейку |
C | Навигация | Скопировать ячейку |
V | Навигация | Вставить ячейку |
SHIFT + TAB | Редактирование | Справка по команде из DocString |
CTRL + SHIFT + – | Редактирование | Разделить ячейку по месту расположения курсора. |
SHIFT + M | Навигация | Объединить выбранные ячейки в одну. Выделите ячейки, которые вы хотите объединить, с помощью клавиш SHIFT + Click мышки и затем объединяем SHIFT + M. |
CTRL + B | оба режима | Скрыть/показать боковую панель слева. Можно сделать так, что у вас будет больше места для кода |
CTRL + HOME | Редактирование | Перейти к началу активной ячейки |
CTRL + END | Редактирование | Перейти к концу активной ячейки |
Ну а если что-то забыли или не нашли, то в Вашем распоряжении полноценное меню.
Подводим итоги:
Вы установили на свой компьютер JupyterLab в котором можно работать с Jupyter Notebook: создавать новый Notebook или открыть существующий; работать с ячейками; после выполнения кода в ячейке получать результат выполнения и взаимодействовать с результатами; сохранять любые изменения; экспортировать результаты в различные форматы и делиться ими с другими.