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 уже включен, отдельно ставить ничего не нужно.
Порядок такой:
- Скачать установщик Anaconda с официального сайта под свою операционную систему.
- Запустить установщик и пройти шаги мастера.
- После установки открыть Anaconda Navigator — графическую панель со списком инструментов.
- В панели найти 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, различаясь лишь организацией рабочего окна.



