Как настроить Jupyter Notebook для Python 3 на Ubuntu 22.04

Введение

Jupyter Notebook представляет собой командную оболочку для интерактивных вычислений в виде веб-приложения. Инструмент можно использовать с несколькими языками, включая Python, Julia, R, Haskell и Ruby. Он часто используется для работы с данными, статистического моделирования и машинного обучения.

Этот учебник научит вас настраивать Jupyter Notebook для запуска как локально, так и с сервера Ubuntu 22.04, а также научит вас подключаться к нему и использовать блокнот. Блокноты Jupyter (или просто блокноты) – это документы, создаваемые приложением Jupyter Notebook, которые содержат как компьютерный код, так и элементы форматированного текста (параграфы, уравнения, рисунки, ссылки и т. д.), которые помогают в представлении и распространении воспроизводимых исследований.

К концу этого руководства вы сможете запускать код Python 3 с использованием Jupyter Notebook, работающего на локальной машине или удаленном сервере.

Предварительные требования

Для выполнения этого учебника вам понадобится среда программирования Python 3 и модуль Python venv, либо

Все команды в этом руководстве должны выполняться от имени обычного пользователя. Если для выполнения команды требуется доступ root, перед ней будет стоять sudo. Начальная настройка сервера с Ubuntu 22.04 объясняет, как добавить пользователей и предоставить им доступ sudo.

Шаг 1 — Установка Jupyter Notebook

В этом разделе мы установим Jupyter Notebook с помощью pip.

Активируйте среду программирования Python 3, в которую вы хотите установить Jupyter Notebook. В нашем примере мы установим его в my_env, поэтому мы убедимся, что находимся в каталоге этой среды и активируем её следующим образом:

  1. cd ~/environments
  2. . my_env/bin/activate

Затем мы можем убедиться, что pip обновлен до самой последней версии:

  1. pip install --upgrade pip

Теперь мы можем установить Jupyter Notebook следующей командой:

  1. pip install jupyter

На этом этапе Jupyter Notebook установлен в текущую среду программирования.

Следующим необязательным шагом является подключение к серверной установке веб-интерфейса с использованием туннелирования SSH.

Шаг 2 (необязательно) — Использование SSH-туннелирования для подключения к установке сервера

Если вы установили Jupyter Notebook на удаленный сервер, вам потребуется подключиться к веб-интерфейсу Jupyter Notebook с использованием SSH-туннелирования. Jupyter Notebook запускает свой интерфейс браузера на определенном порту на вашем удаленном сервере (например, :8888, :8889 и т. д.), который по умолчанию не открыт для широкой сети Интернет. SSH-туннелирование позволяет вам безопасно подключаться к портам удаленного сервера, к которым вы затем можете получить доступ с использованием локального веб-браузера.

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

SSH-туннелирование

Если вы используете Windows, вам нужно установить версию OpenSSH, чтобы иметь возможность подключаться через ssh из терминала. Если вы предпочитаете работать в PowerShell, вы можете следовать документации Microsoft, чтобы добавить OpenSSH в PowerShell. Если вы предпочитаете иметь полную среду Linux, вы можете настроить WSL, подсистему Windows для Linux, в которой по умолчанию будет включен ssh. Наконец, как легкий третий вариант, вы можете установить Git для Windows, который предоставляет среду оболочки bash для Windows с командой ssh. Каждый из них хорошо поддерживается, и выбор зависит от ваших предпочтений.

Если вы используете Mac или Linux, у вас уже есть команда ssh в вашем терминале.

Шаги по созданию SSH-туннеля аналогичны руководству Как подключиться к виртуальным машинам с SSH, за исключением добавления дополнительных параметров в команду ssh. В этом подразделе будут описаны дополнительные параметры, необходимые для успешного создания туннеля с помощью команды ssh.

Создать SSH-туннель можно, запустив следующую команду SSH в новом локальном окне терминала:

  1. ssh -L 8888:localhost:8888 your_server_username@your_server_ip

Команда ssh открывает SSH-соединение, но -L указывает, что заданный порт на локальном (клиентском) хосте должен быть перенаправлен на заданный хост и порт на удаленной стороне (сервере). Это означает, что все, что запущено на втором порту (например, 8888) на сервере, будет отображаться на первом порту (например, 8888) на вашем локальном компьютере.

Если вы получаете сообщение о том, что порт 8888 недоступен, вы можете изменить его на другой произвольный номер порта ниже 65535. Порт 8888 не имеет особого значения, но часто используется для демонстраций, подобных этой.

server_username – это ваше имя пользователя (например, sammy) на сервере, которое вы создали, а your_server_ip – это IP-адрес вашего сервера.

Например, для имени пользователя sammy и адреса сервера your_server_ip, команда будет:

  1. ssh -L 8888:localhost:8888 sammy@your_server_ip

Если после выполнения команды ssh -L не отображается ошибка, вы можете перейти в свою среду программирования и запустить Jupyter Notebook:

  1. jupyter notebook

Вы получите вывод с URL-адресом. Из веб-браузера на вашем локальном компьютере откройте веб-интерфейс Jupyter Notebook с URL-адресом, начинающимся с http://localhost:8888. Убедитесь, что номер токена включен, или введите строку номера токена при запросе на http://localhost:8888.

Шаг 3 — Запуск Jupyter Notebook

После установки Jupyter Notebook вы можете запустить его в терминале. Для этого выполните следующую команду:

  1. jupyter notebook

A log of the activities of the Jupyter Notebook will be printed to the terminal. When you run Jupyter Notebook, it runs on a specific port number. The first notebook you are running will usually run on port 8888. To check the specific port number Jupyter Notebook is running on, refer to the output of the command used to start it:

Output
[I NotebookApp] Serving notebooks from local directory: /home/sammy [I NotebookApp] 0 active kernels [I NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/ [I NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). ...

Если вы запускаете Jupyter Notebook на локальном компьютере (а не на сервере), ваш браузер по умолчанию должен открыть веб-приложение Jupyter Notebook. Если это не произошло, или если вы закрыли окно, вы можете перейти по URL-адресу, указанному в выводе, или перейти по адресу localhost:8888 для подключения.

Когда вам нужно остановить процесс Jupyter Notebook, нажмите Ctrl+C, введите Y, когда вас попросят, а затем нажмите Enter, чтобы подтвердить.

Вы получите следующий вывод:

Output
[C 12:32:23.792 NotebookApp] Shutdown confirmed [I 12:32:23.794 NotebookApp] Shutting down kernels

Jupyter Notebook теперь больше не запущен.

Шаг 4 — Использование Jupyter Notebook

Этот раздел рассматривает основы использования Jupyter Notebook. Если у вас еще не запущен Jupyter Notebook, запустите его с помощью команды jupyter notebook.

Теперь вы должны быть подключены к нему с помощью веб-браузера. Jupyter Notebook очень мощный и имеет много функций. В этом разделе будут описаны некоторые основные функции, чтобы помочь вам начать использовать блокнот. Jupyter Notebook покажет все файлы и папки в каталоге, из которого он запущен, поэтому, когда вы работаете над проектом, убедитесь, что запускаете его из каталога проекта.

Чтобы создать новый файл блокнота, выберите Новый > Python 3 из выпадающего меню в правом верхнем углу:

Это откроет блокнот. Теперь мы можем выполнять код Python в ячейке или изменить ячейку на markdown. Например, измените первую ячейку на Markdown, нажав Ячейка > Тип ячейки > Markdown на панели навигации вверху. Теперь мы можем писать заметки с использованием Markdown и даже включать уравнения, написанные в LaTeX, поместив их между символами $$. Например, введите следующее в ячейку после изменения ее на markdown:

# Простое уравнение

Let us now implement the following equation:
$$ y = x^2$$

where $x = 2$

Чтобы преобразовать markdown в форматированный текст, нажмите Ctrl+Enter, и результатом будет следующее:

Вы можете использовать ячейки markdown для записей и документирования своего кода. Давайте реализуем это простое уравнение и выведем результат. Щелкните на верхней ячейке, затем нажмите Alt+Enter, чтобы добавить ячейку под ней. Введите следующий код в новую ячейку.

x = 2
y = x**2
print(y)

Чтобы выполнить код, нажмите Ctrl+Enter. Вы получите следующие результаты:

Теперь у вас есть возможность импортировать модули и использовать блокнот так же, как любую другую среду разработки на Python!

Чтобы завершить работу с серверной частью блокнота Jupyter, вернитесь к окну терминала, из которого вы его запустили, и нажмите Ctrl+C. Это стандартное сочетание клавиш для завершения процессов в терминале, и Jupyter запросит вас сохранить данные перед выходом.

Заключение

Поздравляем! Теперь вы должны уметь писать воспроизводимый код на Python и заметки в формате Markdown с использованием блокнота Jupyter. Чтобы быстро ознакомиться с интерфейсом Jupyter Notebook из самого интерфейса, выберите Справка > Тур по интерфейсу пользователя из верхнего меню навигации, чтобы узнать больше.

Отсюда вам может быть интересно прочитать нашу серию о Визуализации и прогнозировании временных рядов.

Source:
https://www.digitalocean.com/community/tutorials/how-to-set-up-jupyter-notebook-for-python-3