Jupyter Notebook и JupyterLab: описание и начало работы

Jupyter Notebook и JupyterLab: описание и начало работы Полезное

Jupyter Notebook — это веб-приложение и формат документа .ipynb, в котором код выполняется по ячейкам, а результат (числа, таблицы, графики) сразу выводится рядом с кодом. JupyterLab — это более гибкая среда поверх тех же компонентов: несколько ноутбуков, терминал, редактор и файловый менеджер в одном окне с вкладками. Оба чаще всего используют для анализа данных, машинного обучения и научных расчетов на Python.

Ниже разберу, чем Notebook, JupyterLab и IPython отличаются друг от друга, как установить и запустить инструмент, как устроены ячейки и ядро и что дают магические команды. Интерфейс и версии проверены на JupyterLab 4.6.3 и Jupyter Notebook 7.6.2 (актуальные стабильные версии на 16.09.2026); команды установки и запуска работают и на более ранних выпусках линейки 4/7.

IPython, Jupyter Notebook и JupyterLab: что есть что

Три названия постоянно путают, хотя это разные уровни одной системы. Проще всего развести их по одной цепочке «код в ячейке -> ядро выполняет -> интерфейс показывает результат»:

  • IPython — интерактивная оболочка Python и вычислительное ядро (kernel). Именно оно выполняет код ячейки и хранит переменные между запусками. Магические команды (о них ниже) — это функция IPython, а не самого интерфейса.
  • Jupyter Notebook — веб-приложение и документ .ipynb: браузерный интерфейс, где ячейки кода чередуются с текстом и результатами. Начиная с версии 7 он построен на компонентах JupyterLab.
  • JupyterLab — расширяемая среда поверх тех же компонентов: вкладки, панели, терминал и редактор кода рядом с ноутбуками.

Проект Jupyter выделился из IPython в 2014 году, а его название — это отсылка к трем языкам: Julia, Python и R. Отсюда важный факт: Jupyter не привязан к Python. За язык отвечает ядро, а не интерфейс.

Для Python ядром по умолчанию служит IPython. Для других языков ставят отдельные ядра: IRkernel для R, IJulia для Julia и десятки прочих. Внутри одного Python-ядра можно выполнить и код на другом языке через магические команды ячеек (например, %%bash), но это отдельный механизм, а не полноценная замена ядра.

Установка через pip

Если хочется полностью контролировать окружение на своем компьютере, инструмент ставят локально. Самый прямой способ — менеджер пакетов pip. Для полноценной среды поставьте JupyterLab:

pip install jupyterlab

Если нужен именно классический интерфейс ноутбука, ставится отдельный пакет:

pip install notebook

Пакет notebook версии 7 сам подтягивает компоненты JupyterLab и Jupyter Server, так что обе команды дают современный интерфейс. Ставить оба пакета не обязательно: jupyterlab уже включает режим ноутбука.

Удобно устанавливать Jupyter не в общесистемный Python, а в виртуальное окружение проекта (python -m venv .venv), чтобы версии библиотек не конфликтовали между проектами.

Установка через Anaconda

Anaconda — это дистрибутив Python с преднастроенным набором библиотек для анализа данных и машинного обучения. В нем Jupyter уже включен, отдельно ставить ничего не нужно.

Порядок такой:

  1. Скачать установщик Anaconda с официального сайта под свою операционную систему.
  2. Запустить установщик и пройти шаги мастера.
  3. После установки открыть Anaconda Navigator — графическую панель со списком инструментов.
  4. В панели найти JupyterLab или Jupyter Notebook и нажать Launch.

Anaconda удобна новичку, который не хочет вручную собирать окружение: библиотеки вроде NumPy, pandas и Matplotlib уже на месте. Минус — большой объем на диске. Если нужен только Jupyter и пара библиотек, вариант с pip и виртуальным окружением легче. Для компактной установки того же экосистемного менеджера подойдет Miniconda.

Запуск

После установки через pip интерфейс запускают из терминала одной командой. Для JupyterLab:

jupyter lab

Для интерфейса ноутбука:

jupyter notebook

Команда поднимает локальный веб-сервер и открывает браузер по адресу вроде http://localhost:8888. Терминал при этом остается занятым: пока сервер работает, окно закрывать нельзя. Чтобы остановить сервер, вернитесь в терминал и нажмите Ctrl+C.

При установке через Anaconda то же самое делается кнопкой Launch в Anaconda Navigator — без ручного ввода команд.

Отдельно от локального запуска существуют облачные сервисы, например Google Colab: там ничего устанавливать не нужно, ноутбук открывается в браузере, а вычисления идут на чужих серверах. Плата за удобство — зависимость от сети и ограничения на ресурсы и время сессии.

Ячейки и ядро

Ноутбук состоит из ячеек. Есть два основных типа: ячейка кода (выполняется ядром) и ячейка Markdown (текст, заголовки, формулы, ссылки — для пояснений). Тип переключается в панели инструментов или горячими клавишами.

Минимальный пример: наберите в ячейке кода выражение и выполните ее.

data = [4, 8, 15, 16, 23, 42]
average = sum(data) / len(data)
print(average)   # 18.0

Запустить ячейку можно тремя способами:

  • Shift+Enter — выполнить и перейти к следующей ячейке;
  • Ctrl+Enter — выполнить и остаться в текущей;
  • Alt+Enter — выполнить и вставить новую ячейку ниже.

Ядро хранит состояние между ячейками. Переменную, заданную в одной ячейке, видно в следующих:

x = 10
y = x * 3
print(y)   # 30

Здесь есть подвох. Ячейки можно запускать в любом порядке, и слева от каждой стоит счетчик выполнения — [1], [2] и так далее. Если запускать ячейки вразнобой, состояние ядра перестает совпадать с тем, что видно на экране. Чтобы убедиться, что ноутбук воспроизводится с чистого листа, используют меню Kernel -> Restart Kernel and Run All Cells: оно сбрасывает состояние и выполняет все сверху вниз.

Там же, в меню Kernel, лежат другие полезные операции: Interrupt (прервать зависшую или слишком долгую ячейку) и Restart (перезапустить ядро, очистив все переменные).

Магические команды

Магические команды (magics) — это специальные команды IPython, которые расширяют возможности ячейки. Они бывают двух видов:

  • строчные (line magics) начинаются с одного % и действуют на одну строку;
  • ячеечные (cell magics) начинаются с %% и действуют на всю ячейку.

Несколько частых примеров (это содержимое ячеек ноутбука, а не обычный скрипт Python):

%timeit sum(range(1000))
# 7.5 µs ± 0.2 µs per loop - у вас числа будут свои

%run script.py     # выполнить внешний файл .py в текущем ядре
%who               # показать определённые переменные
%lsmagic           # список всех доступных магических команд

Ячеечная магия %%bash выполняет содержимое ячейки как команды оболочки, а %%writefile сохраняет ячейку в файл:

%%writefile hello.py
print("Привет из файла")

Для графиков в старых примерах часто встречается %matplotlib inline — она встраивает картинки Matplotlib прямо под ячейкой. В свежих версиях JupyterLab и Notebook 7 встроенный вывод графиков обычно работает и без этой строки, но она по-прежнему не мешает.

Полный список команд конкретной установки всегда дает %lsmagic — им удобно проверять, что доступно именно у вас.

Чем отличаются Notebook и JupyterLab

Оба интерфейса открывают одни и те же файлы .ipynb и используют одно ядро, поэтому переносить работу между ними можно свободно. Разница — в организации рабочего пространства.

Признак Jupyter Notebook 7 JupyterLab 4
Рабочее окно один ноутбук на вкладку браузера вкладки и панели в одном окне
Что открывает ноутбуки .ipynb ноутбуки, терминал, редактор кода, просмотр файлов
Кому удобнее линейный сценарий, обучение, быстрый разбор проекты из нескольких файлов, работа рядом с терминалом
Общая основа компоненты JupyterLab + Jupyter Server те же компоненты

Практический вывод простой: для первой ячейки и учебных задач достаточно Notebook, а когда проект разрастается до нескольких файлов и хочется терминал под рукой — переходят на JupyterLab. Классический интерфейс Notebook 6 в новых установках по умолчанию не запускается, развитие идет в Notebook 7 и Lab.

Где это нужно на практике

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

Освойте тему на практике

Чтобы освоить эти сценарии системно — на реальных данных, с библиотеками pandas и Matplotlib и практикой в ноутбуках — подойдет курс Python для анализа данных. Посмотреть формат занятий и темы вживую можно на открытых уроках Otus.

Смежные темы: случайные числа в Python, построение и исследование графиков.

FAQ

Нужен ли интернет для работы в Jupyter?
Локально установленный Jupyter (через pip или Anaconda) работает офлайн: сервер и браузер запускаются на вашем компьютере. Интернет нужен только для установки пакетов и для облачных сервисов вроде Google Colab, где вычисления идут на удаленных серверах.

Чем файл .ipynb отличается от обычного .py?
.ipynb — это документ в формате JSON: в нем хранятся ячейки, их вывод и метаданные. .py — простой текстовый файл только с кодом. Для системы контроля версий .py чище, а ноутбук при необходимости конвертируют командой jupyter nbconvert.

Можно ли вернуть старый классический интерфейс Notebook?
По умолчанию запускается Notebook 7 на основе JupyterLab. Классический интерфейс версии 6 доступен отдельным пакетом nbclassic, но он больше не развивается, поэтому для новых задач рекомендуют Notebook 7 или JupyterLab.

Выводы

Jupyter — это система из трех уровней: ядро IPython выполняет код и хранит состояние, а интерфейс Notebook или JupyterLab показывает ячейки и результаты. Установить инструмент можно через pip (pip install jupyterlab) или дистрибутивом Anaconda, а запустить — командами jupyter lab и jupyter notebook. Работа строится по ячейкам: код выполняется по частям, ядро хранит переменные между запусками, а магические команды IPython (%timeit, %run, %%bash) расширяют возможности. Notebook и JupyterLab открывают одни и те же файлы .ipynb, различаясь лишь организацией рабочего окна.

OTUS Журнал
Скидка 5% 14-20 сентября на курсы (popup)