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

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

Сценарии использования Jupyter Notebook для Python

Основной подход к работе с Jupyter Notebook состоит из установки пакета, запуска локального сервера и написания кода в ячейках.

Как установить Jupyter Notebook и запустить первый ноутбук?

Для установки используется пакет jupyter. Python должен быть предварительно настроен.

pip install jupyter
jupyter notebook

Eclipse ide python (eclipse ide для python)

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

В первой ячейке размещается команда для проверки.

print('Привет, Jupyter')

Giga ide python (giga ide для python)

Выполнение ячейки происходит с помощью Shift+Enter. Результат печатается под ячейкой.

Привет, Jupyter

Python idle linux (idle на linux)

Переменные из одной ячейки остаются доступными в других ячейках.

city = 'Москва'
population = 13000000
print(city, population)

Jupyter notebooks python (jupyter notebook в python)

Москва 13000000

Jupiter notebook python (jupyter notebook с python)

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

Ошибка jupyter: command not found возникает, когда каталог со скриптами Python не добавлен в переменную PATH. В этом случае используется запуск через интерпретатор.

python -m jupyter notebook

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

Если установлено несколько версий Python, важно выбрать ту, для которой ставился пакет. Помогает команда python -m pip install jupyter.

Как использовать Jupyter Notebook на удаленном сервере?

Для удаленного доступа сервер запускается с параметром --no-browser. Это удобно для работы на облачных машинах или в контейнерах.

jupyter notebook --no-browser --ip=0.0.0.0 --port=8888

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

IP-адрес 0.0.0.0 открывает доступ по сети. Для безопасности сервер требует токен, который выводится в консоли при запуске.

На локальной машине создается SSH-туннель.

ssh -L 8888:localhost:8888 user@remote_host

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

После этого в локальном браузере доступен адрес http://localhost:8888. Вход выполняется по токену.

Если используется менеджер окружений conda, нужно активировать окружение до запуска сервера. При запуске после активации ядро видит библиотеки окружения. Перезапуск ядра помогает проверить работоспособность.

Как работать с Jupyter Notebook в VS Code?

Редактор VS Code поддерживает .ipynb как нативный формат. Для работы устанавливается расширение Python от Microsoft.

code --install-extension ms-python.python

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

После установки открывается файл .ipynb. В каждой ячейке появляется кнопка запуска. Ядро отображается в правом верхнем углу. Вариант удобен тем, что рядом с ячейками доступен отладчик и подсветка синтаксиса.

Как превратить ноутбук в HTML-отчет или Python-скрипт?

Утилита nbconvert входит в состав Jupyter. Она конвертирует файл в различные форматы.

jupyter nbconvert --to script notebook.ipynb

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

[NbConvertApp] Converting notebook notebook.ipynb to script
[NbConvertApp] Writing 510 bytes to notebook.py

Python idle windows (среда idle python на windows)

Для HTML-отчета используется параметр --to html.

jupyter nbconvert --to html notebook.ipynb

Созданный HTML включает код и результаты выполнения.

Как измерить скорость выполнения операции?

Магическая команда %timeit запускает операцию несколько раз и возвращает среднее время.

%timeit sum(range(1000))
1.23 µs ± 12.4 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

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

%%time
total = 0
for i in range(10000):
    total += i
CPU times: user 1.01 ms, sys: 0 ns, total: 1.01 ms
Wall time: 1.05 ms

Такие команды полезны при сравнении алгоритмов.

Как запустить Jupyter Notebook в Docker-контейнере?

Образ jupyter/base-notebook содержит Python и Jupyter.

docker run -p 8888:8888 jupyter/base-notebook

В браузере открывается адрес http://localhost:8888. Контейнер создает изолированное окружение для воспроизводимых экспериментов.

Сообщение Kernel not found появляется, если ядро Python не зарегистрировано в Jupyter. Помогает установка ядра для текущего интерпретатора.

python -m ipykernel install --user

После перезапуска сервера ядро появляется в списке.

Как использовать магическую команду %timeit для сравнения подходов?

Команда %timeit повторяет выражение несколько раз. Это дает стабильную оценку времени.

Пример
%timeit sum([i * 2 for i in range(100)])
1.31 µs ± 9.8 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

Для многострочного кода используется %%timeit.

Пример
%%timeit
s = 0
for i in range(1000):
    s += i * 2
18.2 µs ± 214 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

Как вывести несколько объектов без print?

В Jupyter результат последнего выражения в ячейке отображается автоматически. Для показа нескольких значений используется display из IPython.display.

Пример
from IPython.display import display
display('Код города', 101)
display(1 + 1)
'Код города'
101
2

Как выполнить системную команду внутри ноутбука?

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

Пример
!python --version
Python 3.11.5

Результат команды можно сохранить в переменную.

Пример
output = !python --version
print(output)
['Python 3.11.5']

Как построить интерактивный график с помощью ipywidgets?

Для этого используется функция interact. Она создает элементы управления на основе параметров функции.

Пример
from ipywidgets import interact
import matplotlib.pyplot as plt
import numpy as np

@interact(frequency=(1, 10), amplitude=(1, 5))
def plot_signal(frequency, amplitude):
    x = np.linspace(0, 2 * np.pi, 200)
    y = amplitude * np.sin(frequency * x)
    plt.plot(x, y)
    plt.ylim(-5, 5)
    plt.show()

После выполнения появляются ползунки для параметров frequency и amplitude. Изменение ползунка перерисовывает график.

Как скрыть код в экспортированном отчете?

Параметр --no-input убирает ячейки кода из вывода nbconvert.

Пример
jupyter nbconvert --to html notebook.ipynb --no-input
[NbConvertApp] Converting notebook notebook.ipynb to html
[NbConvertApp] Writing 3456 bytes to notebook.html

Это удобно для отчетов, где нужны только результаты.

Как получить список доступных ядер?

Пример
jupyter kernelspec list
Available kernels:
  python3    /usr/local/share/jupyter/kernels/python3

Как пометить ноутбук как доверенный?

Jupyter Notebook хранит информацию о доверии в метаданных файла. Команда jupyter trust обновляет эту метку.

Пример
jupyter trust notebook.ipynb
Trusting notebook notebook.ipynb

После этого среда разрешает выполнение встроенного JavaScript.

Как запустить ноутбук как презентацию?

Пример
jupyter nbconvert notebook.ipynb --to slides --post serve
[NbConvertApp] Converting notebook notebook.ipynb to slides
[NbConvertApp] Writing 4567 bytes to notebook.slides.html
[NbConvertApp] Serving HTTP on 0.0.0.0 port 8000...

Открывается браузер с показом слайдов. Презентация делится по горизонтали на разделы.

Как отобразить таблицу с помощью DataFrame?

Пример
import pandas as pd
df = pd.DataFrame({'Город': ['Москва', 'Санкт-Петербург'], 'Население': [13000000, 5600000]})
df

Jupyter отображает DataFrame как интерактивную таблицу с сортировкой.

Jupyter Notebook в Python - comments

En
Jupyter notebooks python (python)