Установка Jupyter Notebook (Linux)

This is Jupyter

Jupyter Notebook – это свободно распространяемый инструмент, позволяющий легко визуализировать и красиво представлять результаты выполнения частей кода, написанного на таких языках программирования как Python, Ruby и не только:
Особенности работы, интерфейс и основные понятия Jupiter рассмотрим после установки и первичной настройки.

Jupyter Notebook устанавливается на все основные настольные операционные системы. Представляет собой сервер, работа с которым осуществляется через браузер - соответственно обращаться к Jupiter можно с любого устройства внутри сети, в которой находится машина с работающим Jupiter, если его запуск правильно настроен. А как это сделать читаем ниже.

Установка и запуск

Единственной самой главной зависимостью Jupiter является наличие интерпретатора целевого языка программирования, в нашем случае - Питона - второго или третьего или обоих. Рассмотрим вариант для Python 3 так как прогресс не стоит на месте.
На офф. сайте Jupiter предлагается два метода установки:
  • через менеджер “Data Science”-пакетов Anaconda
  • с помощью старого доброго pip’а - основного менеджера пакетов для Python

Рассмотрим вариант установки через pip, так как он более универсален.
Обновим информацию о репозиториях:
sudo apt update

Установим основные пакеты математических методов:
sudo apt install python3-matplotlib python3-scipy -y

pip как правило установлен по умолчанию, обновим его
sudo pip3 install --upgrade pip

Установка Jupiter и чистка кеша
sudo pip3 install jupyter
sudo apt clean -y

После установки выполним перезагрузку:
sudo reboot now

Так как Jupiter - серверное приложение, то для входа в него требуется аутентификация, настроим сразу вход по паролю (во время настройки через терминал вводимый пароль не будет отображаться даже звездочками - в Линуксе это нормально):
jupyter notebook --generate-config
jupyter notebook password

Переместимся в домашнюю папку - после запуска сервера текущая папка в интерфейсе Jupiter станет корневой и выше из нее нельзя будет переместиться:
cd ~

Чтоб иметь доступ к поднятому серверу с другим машин, при запуске необходимо указать IP-адрес машины и порт. (как узнать и зафиксировать IP см. Настройка статического IP адреса)
jupyter notebook --ip 192.168.1.111 --port 8888

А для доступа только с локальной машины запускаем командой
jupyter notebook
Сервер запущен. Чтоб открыть Jupiter с машины на которой он запущен вводим в адресной строке браузера http://localhost:8888/, а чтоб открыть интерфейс Jupiter с любого другого устройства внутри сети вводим http://192.168.1.111:8888 (соответственно заменяя IP-адрес на указанный при запуске)

Вводим указанный в настройках пароль:
Если все сделано верно, то увидим следующее - это навигатор по директориям домашнего каталога (откуда через терминал был запущен Jupiter):

Основы работы в Jupiter и термины

Файлы в контексте Jupyter Notebook называются блокнотами (notebook) - их можно создавать, изменять, сохранять и передавать.
Так как блокноты содержат в себе программный код, который исполняется при запуске блокнота - обращайте внимание на источник, если вы скачали чей то блокнот и собираетесь запустить.
При нажатии на кнопку “New” видим, что кроме ноутбуков можно создать обычные текстовые файлы, папки и открыть терминальное окно через браузер на том компьютере, на котором сейчас запущен Jupiter.
Создадим новый блокнот Python 3:Откроется интерфейс пока пустого блокнота. Здесь мы видим:
  • строку меню (File, Edit ...)
  • строку инструментов (удобнее пользоваться сочетаниями клавиш, справка по которым находится в Help > Keyboard Shortcuts), содержащую также выпадающий список выбора функции ячейки
  • рабочую область - текстовое поле с голубой окантовкой (командный режим выделенной ячейки), пометкой “In [   ]”, которая будет содержать порядковый номер поля - это ячейка
Если ячейка не имеет рамки и окантовки, выделите ее кликом мыши
В командном режиме можно перемещаться по ячейкам, манипулировать количеством, размещением и функциями ячеек. Перейдем в режим редактирования нажав Enter при выделенной ячейке.
В режиме редактирования рамка ячейки окрашивается в зеленый цвет и появляется приглашение для ввода. Так как функциональность ячейки определена для программного кода (“Code”), введем простейший Python-код и запустим его сочетанием клавиш Ctrl + Enter:Код выполнился и под ячейкой появился результат команды print
После запуска ячейки режим редактирования сменяется на командный, еще этого можно достичь нажав Esc.

Находясь в командном режиме при выделенной ячейке нажмем “B” - это создаст новую ячейку под выделенной  (below)Создание новой ячейки над выделенной - клавишей “A” (above), а удаление - “D” (delete)
Рассмотрим другую функцию ячейки - Markdown - в такой ячейке можно рендерить отформатированный текст, формулы и графику. Попробуем вывести изображение. Это делается командой
![<подпись>](<путь_к_файлу_изображения>) 

При этом можно опробовать функцию дописывания команд по нажатию Tab:
Чтоб ячейка заработала правильно и вывела изображение необходимо сменить ее тип с Code на Markdown. При выделенной ячейке в командном режиме это можно сделать клавишей “M” (возврат в Code - “Y”) или через выпадающий список в строке инструментов:
Запускаем выполнение ячейки:
Со всеми аспектами и возможностями разметки Markdown можно познакомиться здесь.

В Code-ячейке можно выполнять любые терминальные команды если начинать строку с восклицательного знака, даже посмотреть системный лог: Это очень полезно в случае надобности быстро провести манипуляции с файлами (скопировать, переместить, скачать и т.д.). Однако это не очень безопасно для системы машины, на которой запущен Jupiter.

Для самых распространенных действий в Jupiter существуют так называемые “магические” команды. Они начинаются с символа “%”, их полный список можно вывести в ячейке кода командой
%lsmagic

Спектр их весьма широк - от работы с файловой системой до удобной отладки и структурирования кода:
Вот к примеру в Python-блокноте можно выполнить код на Ruby командой
%%ruby

(естественно интерпретатор Ruby должен быть установлен в системе на которой запущен Jupiter)
Документацию по всем “магическим” командам можно почитать здесь на английском языке.

Вот все основы и принципы работы в Jupiter Notebook. Со всеми мелочами, аспектами и подводными камнями проще разбираться уже на конкретных примерах (в последующих статьях).
Не забывайте сохраняться!
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.