Jupyter Notebook: интерактивная среда разработки на Python

Раздел: Инструменты -> Среды разработки

Начало работы с Jupyter Notebook

Jupyter Notebook - это веб-приложение с открытым исходным кодом, которое позволяет создавать и использовать документы, содержащие код, уравнения, визуализации и пояснительный текст. Оно особенно популярно среди специалистов по анализу данных, исследователей и преподавателей.

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

Как установить Jupyter Notebook и начать писать код на Python?

Самый простой способ - через менеджер пакетов pip. Откройте терминал (или командную строку) и выполните:

pip install notebook

Visual studio python библиотеки (visual studio и библиотеки python)

После завершения установки запустите сервер Jupyter командой:

jupyter notebook

Eclipse ide python (eclipse ide для python)

В браузере откроется интерфейс со списком файлов. Нажмите New → Python 3, чтобы создать новый блокнот.

Что делать, если команда jupyter не найдена?

Чаще всего это случается, когда Python и Jupyter изолированы. Проверьте, добавлен ли путь к Scripts в переменную окружения PATH. В Windows попробуйте:

python -m notebook

Giga ide python (giga ide для python)

Это гарантирует запуск из того же интерпретатора, которым установили пакет.

Различные способы использования

Как использовать Anaconda вместо pip?

Anaconda - дистрибутив Python, который включает Jupyter и сотни научных библиотек. Скачайте установщик с официального сайта, после установки откройте Anaconda Navigator и запустите Jupyter Notebook оттуда. Это избавляет от ручной настройки окружения.

Как переключиться на JupyterLab?

JupyterLab - следующее поколение интерфейса. Установите его:

pip install jupyterlab

Python idle linux (idle на linux)

Запустите командой jupyter lab. Работа с ячейками и кодом идентична, но добавлены вкладки, файловый менеджер и расширенный редактор.

Как изолировать окружение для проекта?

Используйте virtualenv или conda-env. Пример с virtualenv:

python -m venv myenv
myenv\Scripts\activate   # Windows
pip install jupyter
jupyter notebook

Notebook python (jupyter notebook в python)

Теперь ядро будет использовать только библиотеки из этого окружения.

Как добавить другое ядро (R, Julia)?

Установите соответствующий пакет, например для R:

install.packages('IRkernel')
IRkernel::installspec()

Jupiter notebook python (jupyter notebook с python)

После этого в меню New появится пункт R.

Как расширить функциональность с помощью nbextensions?

Установите jupyter_contrib_nbextensions:

pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user

Spyder python ide (среда разработки spyder для python)

В интерфейсе появится вкладка Nbextensions, где можно включить оглавление, автозавершение кода, выполнение ячеек по расписанию и многое другое.

Как сохранить блокнот в HTML или PDF?

В меню File выберите Download as → HTML (.html). Для PDF потребуется LaTeX: установите MiKTeX (Windows) или texlive (Linux) и выберите Download as → PDF via LaTeX. Альтернатива - nbconvert:

jupyter nbconvert --to html mynotebook.ipynb

Wing python ide (среда разработки wing для python)

Типичные проблемы и их решения

Ядро не запускается или падает с ошибкой Kernel error

Причина - несовместимость версий или отсутствие ipykernel. Установите или переустановите:

pip install --upgrade ipykernel
python -m ipykernel install --user

Vs code python библиотеки (настройка библиотек python в vs code)

Иногда помогает сброс кэша через Kernel → Restart & Clear Output.

Команда pip install не находит пакет внутри блокнота

Выполните установку прямо из ячейки с восклицательным знаком:

!pip install numpy

Pycharm python file (создание файла python в pycharm)

Но лучше установить всё заранее в том же окружении, чтобы избежать путаницы.

Блокнот работает медленно или зависает

Проверьте, не выполняется ли бесконечный цикл. Используйте магическую команду %time (см. раздел примеров). Если проблема в объёме данных, перезагрузите ядро: Kernel → Restart & Run All.

Файлы с русскими символами в пути не открываются

Ошибка связана с кодировкой. Используйте латинские имена папок и файлов, либо откройте Jupyter из папки, в которой уже находятся ваши данные:

cd "путь к папке"
jupyter notebook

Расширенные примеры работы в Jupyter Notebook

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

Команды, начинающиеся с символа процента, называются магическими и предоставляют дополнительную функциональность.

Как измерить время выполнения отдельной ячейки?

Используйте %%time для всей ячейки или %time для одной строки.

Пример

%%time
sum_ = 0
for i in range(10**6):
    sum_ += i ** 0.5
print(sum_)
CPU times: user 165 ms, sys: 15 ms, total: 180 ms
Wall time: 178 ms

Как автоматически перезагружать импортированные модули?

Пример

%load_ext autoreload
%autoreload 2

Теперь при изменении исходного кода модуля его не нужно перезагружать вручную.


Интерактивная визуализация с matplotlib

Команда %matplotlib inline встраивает графики прямо в блокнот.

Пример

%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
plt.plot(x, np.sin(x))
plt.title('Синусоида')
plt.xlabel('x')
plt.ylabel('sin(x)')
plt.grid(True)
plt.show()
[график синусоиды]

Для интерактивных графиков используйте %matplotlib notebook - тогда можно масштабировать и перемещать изображение мышью.


Работа с pandas: загрузка, фильтрация, группировка

Пример

import pandas as pd

# Создаём DataFrame
data = {'Имя': ['Анна', 'Иван', 'Мария'],
        'Возраст': [28, 35, 22],
        'Город': ['Москва', 'СПб', 'Казань']}
df = pd.DataFrame(data)
print(df)
     Имя  Возраст   Город
0   Анна       28  Москва
1   Иван       35    СПб
2  Мария       22  Казань

Фильтрация строк по условию:

Пример

older = df[df['Возраст'] > 25]
print(older)
    Имя  Возраст   Город
0  Анна       28  Москва
1  Иван       35    СПб

Группировка и агрегация:

Пример

df.groupby('Город')['Возраст'].mean()
Город
Казань    22.0
Москва    28.0
СПб       35.0
Name: Возраст, dtype: float64

Интерактивные виджеты (ipywidgets)

Позволяют создавать слайдеры, кнопки, выпадающие списки для управления параметрами в реальном времени. Установите библиотеку:

Пример
!pip install ipywidgets
jupyter nbextension enable --py widgetsnbextension

Пример слайдера и кнопки:

Пример

from ipywidgets import interact, widgets

def f(x, y):
    print(f'x = {x}, y = {y}, сумма = {x + y}')

interact(f, x=widgets.IntSlider(min=0, max=10, step=1, value=5),
              y=widgets.FloatSlider(min=0.0, max=1.0, value=0.5));
[появляются слайдеры, при их изменении пересчитывается сумма]

Параллельные вычисления с ipyparallel

Для ускорения длительных циклов можно запустить несколько ядер. Установите ipyparallel:

Пример
!pip install ipyparallel
!ipcluster start -n 4   # запуск 4 рабочих процессов

В блокноте подключите кластер:

Пример

from ipyparallel import Client
client = Client()
dview = client[:]

# Параллельный map
def square(x):
    return x**2

results = dview.map_sync(square, range(10))
print(results)
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

Как экспортировать блокнот с результатами в презентацию (slides)?

Пример

jupyter nbconvert notebook.ipynb --to slides --post serve

Создаётся HTML-презентация, где каждая ячейка - отдельный слайд. Для переключения режима слайда используйте меню ячейки: Cell → Slide Type.

Jupyter Notebook с Python - comments

En
Jupiter notebook python (python)