Чтобы установить Jupyter Notebook, хватит одной команды pip install notebook, а запустить его можно командой jupyter notebook: в браузере откроется список файлов. В блокноте код пишут ячейками и выполняют по одной, результат сразу видно под каждой. Код, вывод, таблицы и графики сохраняются вместе в одном файле .ipynb.
Команды и примеры проверены на Jupyter Notebook 7.6.3 и Python 3.14.3 в Windows 10. Седьмая версия собрана на компонентах JupyterLab, и её меню не совпадают с инструкциями к Notebook 6.

- Что такое Jupyter Notebook
- Установка Jupyter Notebook через pip
- Через Anaconda
- Как запустить Jupyter Notebook
- Первый блокнот и ячейки кода
- Пример: таблица pandas и график
- Типы ячеек: Code, Markdown и Raw
- Командный режим и режим редактирования
- Горячие клавиши Jupyter Notebook
- Порядок выполнения и скрытое состояние
- Магические команды
- Ядро из другого окружения
- Сохранение и экспорт блокнота
- Jupyter Notebook, JupyterLab и Google Colab
- Частые вопросы
- Как открыть Jupyter Notebook в нужной папке?
- Пакет установлен, а import пишет ModuleNotFoundError. Почему?
- Можно ли пользоваться Jupyter Notebook онлайн без установки?
- Где скачать Jupyter Notebook?
- Что будет, если закрыть вкладку браузера?
Что такое Jupyter Notebook
Это интерактивное веб-приложение: на локальной машине работает сервер Jupyter, а вы открываете его в браузере. Блокнот (по-английски notebook, в разговоре «ноутбук») хранится в файле .ipynb. Внутри обычный JSON, где лежат ячейки с исходным кодом, Markdown-текстом и результатами выполнения. Выполнение кода берёт на себя ядро (kernel), отдельный процесс языка. Для Python это ipykernel, оно ставится вместе с Notebook. Ядра есть больше чем для 40 языков программирования, в том числе R, Julia и Scala.
Удобно это там, где код пишут маленькими шагами и хотят сразу видеть результат: таблицы pandas, графики, учебные задачи. Под кодом можно вывести таблицу, картинку, HTML или формулу. Для большого проекта с модулями и тестами лучше IDE, а блокнот держать рядом как лабораторный журнал.
Установка Jupyter Notebook через pip
Сначала нужно установить Python 3. Проверьте версию командой python --version (в Linux и macOS python3 --version). Ставить пакеты лучше не в системный Python, а в виртуальное окружение проекта:
mkdir notebooks
cd notebooks
python -m venv .venv
source .venv/Scripts/activate
python -m pip install notebook
Четвёртая строка написана для Git Bash в Windows. В cmd окружение активирует .venv\Scripts\activate.bat, в PowerShell .venv\Scripts\Activate.ps1, в Linux и macOS source .venv/bin/activate. Если PowerShell отказывается запускать скрипт активации, решение разобрано в статье про ModuleNotFoundError и виртуальные окружения.

Вместе с зависимостями в чистом окружении оказалось 92 пакета по pip list, считая сам pip. Последняя строка установки заканчивалась так (список сокращён):
Successfully installed ... ipykernel-7.4.0 ... jupyterlab-4.6.4 ... notebook-7.6.3 ...
Проверка версии:
jupyter notebook --version
7.6.3
В других инструкциях встречается pip install jupyter. Это метапакет: кроме Notebook он ставит JupyterLab, консоль jupyter-console, nbconvert, ipykernel и виджеты ipywidgets. Для начала хватит notebook: JupyterLab всё равно приедет зависимостью.
Если после установки команда не находится, окружение не активировано. В cmd это выглядит так:
"jupyter" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
PowerShell пишет «Имя «jupyter» не распознано как имя командлета». Активируйте .venv или запустите сервер интерпретатором окружения по полному пути: .venv\Scripts\python -m notebook в Windows, .venv/bin/python -m notebook в Linux и macOS. Просто python -m notebook без активации вызовет системный Python, и он ответит No module named notebook.
Через Anaconda
Дистрибутив Anaconda ставит conda, Python, графический Anaconda Navigator и больше 600 пакетов для анализа данных, Jupyter запускается из Navigator. Цена вопроса около 9,7 ГБ на диске. Miniconda занимает около 900 МБ, но в ней только conda и Python, без лишних пакетов и без графического интерфейса. Если вам нужны только блокноты, venv и pip проще и легче; Anaconda имеет смысл, когда вы и так работаете в conda.
Как запустить Jupyter Notebook
Перейдите в папку проекта, активируйте окружение и выполните:
jupyter notebook
Сервер покажет, где работает, и откроет браузер со списком файлов той папки, из которой вы запустили команду. Вот часть лога нашего запуска командой jupyter notebook --no-browser --port=8917 (токен заменён):
[I 2026-10-09 18:58:46.875 ServerApp] Jupyter Server 2.21.1 is running at:
[I 2026-10-09 18:58:46.875 ServerApp] http://localhost:8917/tree?token=...
[I 2026-10-09 18:58:46.875 ServerApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
По умолчанию первый сервер занимает порт 8888, следующие ищут свободный рядом. Полезные параметры:
jupyter notebook --port=8917запускает сервер на заданном порту;jupyter notebook --no-browserне открывает браузер, ссылку с токеном берёте из терминала;jupyter notebook analiz.ipynbсразу открывает нужный блокнот.
Список работающих серверов со ссылками показывает jupyter notebook list. Остановить сервер можно сочетанием Ctrl+C в терминале или пунктом File → Shut Down в браузере. Есть и jupyter notebook stop 8917: в нашем прогоне она напечатала «Could not stop server on 8917», хотя сервер при этом завершился, так что после неё проверьте jupyter notebook list.
Если закрыть только вкладку браузера, ядро продолжит работать, а при повторном открытии блокнот подключится к нему же. Ядра, которые больше не нужны, гасят через Kernel → Shut Down Kernel.
Первый блокнот и ячейки кода
На странице файлов нажмите New и выберите Python 3 (ipykernel). Блокнот откроется в отдельной вкладке, имя меняется щелчком по заголовку вверху.

Напишите код в первой ячейке и нажмите Shift+Enter:
name = "Jupyter"
print("Привет,", name)
len(name) * 2
Привет, Jupyter
14
Первую строку вывода напечатал print. Число 14 Jupyter показал сам: по умолчанию ядро выводит значение последнего выражения ячейки в поле [1]:. Цифра в скобках показывает, каким по счёту ядро выполнило эту ячейку.
Следующий код стоит запомнить: он показывает, каким интерпретатором работает ядро.
import sys
sys.executable
'C:\\projects\\notebooks\\.venv\\Scripts\\python.exe'
Путь ведёт в .venv, значит, пакеты надо ставить именно туда. Проще всего это сделать из самого блокнота магической командой %pip, она ставит пакет в окружение текущего ядра:
%pip install pandas matplotlib
Successfully installed contourpy-1.4.0 cycler-0.12.1 fonttools-4.66.1 kiwisolver-1.5.1 matplotlib-3.11.2 numpy-2.5.3 pandas-3.0.6 pillow-12.3.0 pyparsing-3.3.3
Note: you may need to restart the kernel to use updated packages.
Jupyter предупреждает, что после установки может понадобиться перезапуск ядра: Kernel → Restart Kernel… или 0, 0 в командном режиме. Пакеты, которые в этом ядре ещё не импортировали, у нас импортировались и без перезапуска.
Пример: таблица pandas и график
Результат не обязательно текст. DataFrame Jupyter рисует HTML-таблицей:
import pandas as pd
df = pd.DataFrame({
"день": ["пн", "вт", "ср", "чт", "пт"],
"задачи": [3, 5, 2, 6, 4],
})
df

Среднее по столбцу:
df["задачи"].mean()
np.float64(4.0)
Так с версии 2.0 выглядит число NumPy, когда Jupyter показывает его как значение выражения. print(df["задачи"].mean()) напечатает просто 4.0.
График строится в той же манере, plt.show() в блокноте не нужен:
import matplotlib.pyplot as plt
plt.plot(df["день"], df["задачи"], marker="o")
plt.title("Решено задач за неделю");
Точка с запятой в конце убирает лишнюю строку. Без неё над картинкой появится Text(0.5, 1.0, 'Решено задач за неделю'): это значение последнего выражения, объект заголовка. Подробнее про подписи, оси и сохранение в файл есть в статье о том, как строить графики в matplotlib.
Типы ячеек: Code, Markdown и Raw
Тип выбирают в выпадающем списке на панели инструментов или клавишами. Code содержит код, его выполняет ядро. Ячейка Markdown превращается в форматированный текст: заголовки, списки, жирный шрифт, ссылки и формулы LaTeX между $...$ (в строке) или $$...$$ (отдельной строкой). Ячейку Raw блокнот не выполняет.
Исходник Markdown-ячейки из нашего примера:
## Итоги недели
В среднем решали **4 задачи** в день.
- лучший день: четверг
- худший день: среда
Среднее считается так: $\bar{x} = \frac{1}{n}\sum_{i=1}^{n} x_i$
После Shift+Enter вместо разметки появляется текст с формулой.

Командный режим и режим редактирования
У блокнота два режима. Если клавиша ведёт себя не так, как в таблице ниже, сначала проверьте, в каком вы режиме.
В режиме редактирования курсор стоит внутри поля ввода, и клавиши печатают текст. Войти в него можно клавишей Enter на выбранной ячейке или щелчком по полю ввода. Командный режим включается клавишей Esc: курсора в ячейке нет, а буквы работают как команды для ячеек целиком. Нажали B, чтобы добавить ячейку, а в коде появилась буква «b»? Значит, вы были в режиме редактирования.
Меню Cell, которое упоминают старые инструкции, в Notebook 7 нет: запуск ячеек переехал в меню Run, операции с ячейками в Edit, перезапуск ядра в Kernel.
Горячие клавиши Jupyter Notebook
Сочетания сняты с меню и схемы сочетаний Notebook 7.6.3 в Windows, каждое из таблицы мы нажали в браузере; из цифр 1-6 проверена только 3. По схеме сочетаний на macOS в Ctrl+Enter, Ctrl+S, Ctrl+Shift+C и Ctrl+Shift+H вместо Ctrl используется Cmd, а Ctrl+Shift+- остаётся с Ctrl; на Mac мы это не проверяли.
| Клавиши | Режим | Что делает |
|---|---|---|
| Shift+Enter | любой | выполнить ячейку и перейти к следующей |
| Ctrl+Enter | любой | выполнить и остаться на ячейке |
| Alt+Enter | любой | выполнить и вставить новую ячейку ниже |
| Esc | редактирование | перейти в командный режим |
| Enter | командный | перейти в режим редактирования |
| A / B | командный | новая ячейка выше / ниже |
| M / Y / R | командный | сделать ячейку Markdown / кодом / Raw |
| 1-6 | командный, Markdown-ячейка | заголовок уровня 1-6 |
| D, D | командный | удалить ячейку |
| Z | командный | отменить действие с ячейкой |
| X / C / V | командный | вырезать / копировать / вставить ниже |
| Shift+M | командный | объединить выделенные ячейки |
| Ctrl+Shift+- | редактирование | разделить ячейку по курсору |
| I, I | командный | прервать выполнение |
| 0, 0 | командный | перезапустить ядро |
| Shift+L | командный | номера строк |
| Ctrl+S | любой | сохранить и создать контрольную точку |
| Ctrl+Shift+C | любой | палитра команд |
| Ctrl+Shift+H | любой | список всех сочетаний |
Запись «D, D» значит: нажать D дважды подряд. Удалённую ячейку возвращает Z в командном режиме.

Порядок выполнения и скрытое состояние
Ядро хранит переменные в том состоянии, в каком их оставили ячейки, в порядке нажатия Shift+Enter, а не в том, как ячейки стоят на странице. Проверьте сами. В первой ячейке:
x = 10
Во второй:
x = x + 5
x
Первый запуск этого кода дал [3]: 15, повторный [4]: 20.
Обратная ситуация: ячейка использует переменную, которая определена ниже.
print(total)
total = 42
Если сначала выполнить вторую ячейку, а потом первую, всё напечатается. Запуск блокнота целиком сверху вниз падает:
NameError: name 'total' is not defined
Перед тем как отдать блокнот коллеге или закоммитить, мы бы выполнили Kernel → Restart Kernel and Run All Cells… и дождались конца без ошибок. Jupyter переспросит: «Restart Kernel? … All variables will be lost.» После перезапуска счётчики начнутся с [1], а x снова будет 15. Из терминала то же самое проверяет jupyter execute analiz.ipynb: команда выполняет блокнот в новом ядре и на первой ошибке печатает ячейку и текст исключения.
Магические команды
Строки с % в начале обрабатывает IPython, на котором работает ядро Python в Jupyter; такие строки называют магическими командами. %pip уже встречалась выше. Вторая полезная команда меряет скорость:
%timeit sum(range(1000))
10.3 μs ± 216 ns per loop (mean ± std. dev. of 7 runs, 100,000 loops each)
Цифры зависят от компьютера. В выводе среднее время одного вызова и стандартное отклонение по 7 сериям, в каждой 100 000 запусков.
Ядро из другого окружения
Notebook стоит в одном venv, а проект живёт в другом? Не обязательно устанавливать Jupyter в каждое окружение. Достаточно ipykernel в окружении проекта и регистрации ядра:
python -m pip install ipykernel
python -m ipykernel install --user --name proekt --display-name "Python (proekt)"
Команды выполняются в активированном окружении проекта. В меню New и Kernel → Change Kernel… ядро появится под именем из --display-name. sys.executable на таком ядре показал ...\proekt\Scripts\python.exe. Ядро с тем же --name перезаписывается, список ядер выводит jupyter kernelspec list, удаляет jupyter kernelspec uninstall proekt.
Сохранение и экспорт блокнота
Ctrl+S сохраняет файл и создаёт контрольную точку, к которой можно откатиться пунктом Revert Notebook to Checkpoint… в меню File. Экспорт находится в File → Save and Export Notebook As: HTML, LaTeX, Markdown, PDF, Executable Script (.py) и другие форматы. Тот же конвертер работает из терминала:
jupyter nbconvert --to html analiz.ipynb
jupyter nbconvert --to script analiz.ipynb
В .py ячейки кода идут подряд с метками # In[1]:, а Markdown превращается в комментарии. PDF мы не проверяли: по документации nbconvert для него нужен установленный LaTeX (XeLaTeX), а вариант Webpdf требует Chromium из пакета nbconvert[webpdf].

Выводы ячеек хранятся внутри .ipynb, графики лежат там длинными строками base64 и попадают в диффы. Наш блокнот с одной таблицей и одним графиком весил 36 717 байт, а после очистки выводов 2 149. Перед коммитом в Git выводы лучше убрать: Edit → Clear Outputs of All Cells или командой
jupyter nbconvert --clear-output --inplace analiz.ipynb
Jupyter Notebook, JupyterLab и Google Colab
| Jupyter Notebook 7 | JupyterLab | Google Colab | |
|---|---|---|---|
| Где работает | ваш компьютер или сервер | ваш компьютер или сервер | облако, без установки |
| Интерфейс | один блокнот на вкладку браузера | блокноты, терминалы, редакторы рядом во вкладках и панелях | блокнот в браузере |
| Файлы | .ipynb на диске | тот же формат .ipynb | Google Drive или GitHub |
| Ограничения | ресурсы своей машины | ресурсы своей машины | машину удаляют при простое, бесплатный блокнот работает не больше 12 часов |
Notebook 7 и JupyterLab построены на одних компонентах и открывают одни и те же файлы. JupyterLab ставится вместе с Notebook, поэтому переключиться можно без установки: кнопка JupyterLab на панели блокнота или команда jupyter lab. Colab работает как бесплатный сервис Google на базе Jupyter, но код выполняется на временной виртуальной машине, а в блокнот стоит добавить ячейки, которые ставят и загружают нужные библиотеки. Блокноты умеет открывать и VS Code через расширение Jupyter, настройка описана в статье VS Code для Python.
Частые вопросы
Как открыть Jupyter Notebook в нужной папке?
Перейдите в неё в терминале командой cd и запустите jupyter notebook. Сервер показывает папку запуска и всё, что внутри неё. Чтобы сразу открыть файл, передайте его имя: jupyter notebook analiz.ipynb.
Пакет установлен, а import пишет ModuleNotFoundError. Почему?
Проверьте, тем ли Python работает ядро: выполните в блокноте import sys; sys.executable. Ставьте пакет через %pip install имя_пакета прямо из ячейки: так он попадёт в окружение текущего ядра.
Можно ли пользоваться Jupyter Notebook онлайн без установки?
Да, через Google Colab: ставить ничего не нужно, блокноты сохраняются на Google Drive. Учтите, что виртуальную машину удаляют после простоя, и пакеты, поставленные вручную, придётся ставить заново.
Где скачать Jupyter Notebook?
Отдельный установщик не нужен: Notebook ставится как пакет Python командой pip install notebook или приходит в составе Anaconda. Для тренировки в первом блокноте подойдут задачи по Python для начинающих: каждую удобно решать в отдельной ячейке.
Что будет, если закрыть вкладку браузера?
Ядро продолжит работать, переменные сохранятся. Откройте блокнот снова из списка файлов, и он подключится к тому же ядру. Сервер останавливают Ctrl+C в терминале или File → Shut Down.








