Jupyter Notebook: интерактивная среда разработки на Python
Начало работы с Jupyter Notebook
Jupyter Notebook - это веб-приложение с открытым исходным кодом, которое позволяет создавать и использовать документы, содержащие код, уравнения, визуализации и пояснительный текст. Оно особенно популярно среди специалистов по анализу данных, исследователей и преподавателей.
Установка и запуск
Как установить Jupyter Notebook и начать писать код на Python?
Самый простой способ - через менеджер пакетов pip. Откройте терминал (или командную строку) и выполните:
pip install notebookVisual studio python библиотеки (visual studio и библиотеки python)
После завершения установки запустите сервер Jupyter командой:
jupyter notebookEclipse 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 jupyterlabPython idle linux (idle на linux)
Запустите командой jupyter lab. Работа с ячейками и кодом идентична, но добавлены вкладки, файловый менеджер и расширенный редактор.
Как изолировать окружение для проекта?
Используйте virtualenv или conda-env. Пример с virtualenv:
python -m venv myenv
myenv\Scripts\activate # Windows
pip install jupyter
jupyter notebookNotebook 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 --userSpyder 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.ipynbWing python ide (среда разработки wing для python)
Типичные проблемы и их решения
Ядро не запускается или падает с ошибкой Kernel error
Причина - несовместимость версий или отсутствие ipykernel. Установите или переустановите:
pip install --upgrade ipykernel
python -m ipykernel install --userVs code python библиотеки (настройка библиотек python в vs code)
Иногда помогает сброс кэша через Kernel → Restart & Clear Output.
Команда pip install не находит пакет внутри блокнота
Выполните установку прямо из ячейки с восклицательным знаком:
!pip install numpyPycharm 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.