Jupyter и JupyterLab используются специалистами по анализу данных, или специалистами Data Science, или дата-сатанистами, или аналитиками данных, или специалистами по машинному обучению (не знаю, как правильно называется специальность).
Установка JupyterLab
Я всё это выполняю в Debian. Для начала у вас должен быть уже установлен pip (специальная утилита для установки различных пакетов Python). Затем с его помощью устанавливаем JupyterLab:
1 |
pip install jupyterlab |
После этого убедитесь, что каталог ~/.local/bin содержится в переменной окружения PATH.
1 |
$ echo $PATH |
Если его там нет, то его туда нужно добавить:
1 |
$ export PATH=$PATH:~/.local/bin |
А ещё лучше прописать это в “~.bashrc”., чтобы не пришлось каждый раз добавлять этот каталог в PATH перед запуском JupyterLab.
Краткий обзор JupyterLab
После этого можно запускать JupyterLab:
1 |
$ jupyter lab |
У вас откроется окно браузера, в котором мы и будем делать всё остальное.

В левой части окна мы видим файлы, которые были в том каталоге, в котором мы находились в момент запуска JupyterLab. В правой части отображаются вкладки с открытыми в данный момент файлами. У нас также есть стандартное горизонтальное меню, как в большинстве современных офисных приложений.
JupyterLab умеет открывать огромное количество файлов. В моём случае у меня в рабочем каталоге лежат два файла: “face.png” и “pushkin.pdf”. Их можно открыть кликнув на них два раза.


Мы также можем создавать свои notebook-и. Внутри открывшейся в браузере среды кликните File ⇨ New ⇨ Notebook. В диалоговом окне выберите “Python 3” и кликните “SELECT”. В правой части JupyterLab появится новая вкладка “Untitled.ipynb”. Это и есть наш созданный notebook (не знаю, как переводить, лучше оставлю на английском)
Что такое notebook в Jupyter
Notebook в Jupyter — это файл с чередующимися ячейками, каждая из которых содержит либо markdown, либо программный код на Python.
Работа с notebook-ами в JupyterLab
Сам notebook выглядит примерно так:

Обратите внимание на маркер текущей ячейки. Мы можем перемещаться между ячейками с помощью клавиш со стрелками. Для добавления ячейки перед текущей используйте клавишу “a”, для добавления ячейки после текущей используйте клавишу “b”. Удалить ячейку можно два раза нажав клавишу “d”. Остальные команды можно посмотреть в пункте “Edit” горизонтального меню.
Каждая ячейка содержит либо разметку Markdown, либо программный код Python. Вы можете менять тип текущей ячейки с помощью клавиш “y” (программный код) и “m” (Markdown).
Для примера давайте сделаем первую ячейку с простенькой разметкой Markdown. Для этого выберем её и с помощью клавиши “m” переключим её тип на разметку. Нажмите клавишу “Enter”, чтобы перейти в режим редактирования ячейки. Введите туда следующее содержимое:
1 2 3 |
Just my first Jupyter notebook ============================== It is only for *test* purposes. |
А вторую ячейку сделаем с простой программой на Python. По окончании редактирования предыдущей ячейки нажмите клавишу “Escape”, чтобы выйти из режима редактирования содержимого ячейки. Затем нажмите клавишу “b”, чтобы добавить ячейку после неё. Выберите добавленную ячейку используя стрелки на клавиатуре, поменяйте её тип на программный код с помощью клавиши “y”, нажмите “Enter” и введите в неё следующее содержимое:
1 |
print("Hello, Jupyter notebook!") |
Отлично. Нажмите “Escape”, чтобы выйти из режима редактирования ячейки и запустите текущую ячейку на выполнение с помощью комбинации “Shift+Enter”.
У вас должно получиться примерно следующее:

А теперь давайте в третью ячейку вставим программу для построения диаграммы из статьи про Matplotlib и запустим её. Диаграмма успешно построится, но перед ней появится странный вывод:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
([<matplotlib.axis.XTick at 0x7fd0ba021c18>, <matplotlib.axis.XTick at 0x7fd0ba021710>, <matplotlib.axis.XTick at 0x7fd0ba0289e8>, <matplotlib.axis.XTick at 0x7fd0b9fa5a90>, <matplotlib.axis.XTick at 0x7fd0b9fa8630>, <matplotlib.axis.XTick at 0x7fd0b9f2e1d0>, <matplotlib.axis.XTick at 0x7fd0b9f2ed30>, <matplotlib.axis.XTick at 0x7fd0b9f338d0>, <matplotlib.axis.XTick at 0x7fd0b9f36470>, <matplotlib.axis.XTick at 0x7fd0b9f36fd0>, <matplotlib.axis.XTick at 0x7fd0b9f3bb70>, <matplotlib.axis.XTick at 0x7fd0b9fb9ef0>], <a list of 12 Text xticklabel objects>) |
Как его убрать? В самый конец кода в ячейке добавьте ещё вызов:
1 |
plt.show() |
И в результате получим красивую диаграмму без лишнего вывода.
Зачем всё это нужно
Судя по всему, notebook-и позволяют строить красивые отчёты, содержащие вперемешку текст и легко обновляемые графики, собранные из различных источников. Notebook-и можно экспортировать в PDF, HTML и другие форматы, чтобы затем передавать людям, не связанным с программированием и анализом данных.