Поиск по сайту:

Как настроить 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 либо

  • на вашем локальном компьютере или
  • на сервере Ubuntu.

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

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

В этом разделе мы установим 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, вы можете использовать Git для Windows, который предоставляет родную среду терминала Windows bash, включающую команду 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

Журнал действий Jupyter Notebook будет распечатан на терминале. Когда вы запускаете Jupyter Notebook, он работает с определенным номером порта. Первый блокнот, который вы запускаете, обычно работает на порту 8888. Чтобы проверить конкретный номер порта, на котором работает Jupyter Notebook, обратитесь к выходным данным команды, используемой для его запуска:

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

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

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

Чтобы создать новый файл записной книжки, выберите «Создать» > «Python 3» в правом верхнем раскрывающемся меню:

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

# Simple Equation

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

where $x = 2$

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

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

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

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

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

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

Заключение

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

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