Как настроить ноутбук Jupyter с Python 3 на Debian 9

Вступление

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

Из этого туториала Вы узнаете, как настроить Jupyter Notebook для запуска с сервера Debian 9, а также узнаете, как подключиться и использовать ноутбук. Записные книжки Jupyter (или просто записные книжки) - это документы, выпускаемые приложением Jupyter Notebook, которые содержат как компьютерный код, так и элементы форматированного текста (абзацы, уравнения, рисунки, ссылки и т. Д.), Которые помогают представлять и распространять воспроизводимые исследования.

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

Предпосылки

Чтобы выполнить это руководство, у вас должен быть свежий экземпляр сервера Debian 9 с базовым брандмауэром и пользователем без полномочий root с настроенными привилегиями sudo. Вы можете узнать, как это настроить, запустив наше руководство Initial Server Setup с Debian 9.

Шаг 1 - Установите заголовки Pip и Python

Чтобы начать процесс, мы загрузим и установим все нужные нам элементы из репозиториев Debian. Мы будем использовать менеджер пакетов Python + pip +, чтобы установить дополнительные компоненты чуть позже.

Сначала нам нужно обновить локальный индекс пакетов + apt +, а затем загрузить и установить пакеты:

sudo apt update

Затем установите + pip + и заголовочные файлы Python, которые используются некоторыми зависимостями Jupyter:

sudo apt install python3-pip python3-dev

Debian 9 («Stretch») поставляется с предустановленной Python 3.5.

Теперь мы можем перейти к настройке виртуальной среды Python, в которую мы будем устанавливать Jupyter.

Шаг 2 - Создайте виртуальную среду Python для Jupyter

Теперь, когда у нас есть Python 3, его заголовочные файлы и + pip +, готовые к работе, мы можем создать виртуальную среду Python для более простого управления. Мы установим Jupyter в эту виртуальную среду.

Для этого нам сначала нужен доступ к команде + virtualenv +. Мы можем установить это с помощью + pip +.

Обновите + pip + и установите пакет, набрав:

sudo -H pip3 install --upgrade pip
sudo -H pip3 install virtualenv

С установленным + virtualenv + мы можем начать формировать нашу среду. Создайте и перейдите в каталог, где мы можем хранить файлы нашего проекта:

mkdir ~/
cd ~/

В каталоге проекта создайте виртуальную среду Python, набрав:

virtualenv

Это создаст каталог с именем ` в вашем каталоге `. Внутри он установит локальную версию Python и локальную версию + pip +. Мы можем использовать это для установки и настройки изолированной среды Python для Jupyter.

Перед установкой Jupyter нам нужно активировать виртуальную среду. Вы можете сделать это, набрав:

source /bin/activate

Ваше приглашение должно измениться, чтобы указать, что вы сейчас работаете в виртуальной среде Python. Это будет выглядеть примерно так: + () @: ~ / $ +.

Теперь вы готовы установить Jupyter в эту виртуальную среду.

Шаг 3 - Установите Jupyter

Когда ваша виртуальная среда активна, установите Jupyter с локальным экземпляром + pip +:

pip install jupyter

К этому моменту вы успешно установили все программное обеспечение, необходимое для запуска Jupyter. Теперь мы можем запустить сервер ноутбука.

Шаг 4 - Запустите Jupyter Notebook

Теперь у вас есть все необходимое для запуска ноутбука Jupyter! Чтобы запустить его, выполните следующую команду:

jupyter notebook

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

Output[I 21:23:21.198 NotebookApp] Writing notebook server cookie secret to /run/user/1001/jupyter/notebook_cookie_secret
[I 21:23:21.361 NotebookApp] Serving notebooks from local directory: /home//
[I 21:23:21.361 NotebookApp] The Jupyter Notebook is running at:
[I 21:23:21.361 NotebookApp] http://localhost:/?token=
[I 21:23:21.361 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 21:23:21.361 NotebookApp] No web browser found: could not locate runnable browser.
[C 21:23:21.361 NotebookApp]

   Copy/paste this URL into your browser when you connect for the first time,
   to login with a token:
       http://localhost:/?token=

Если вы используете Jupyter Notebook на локальном компьютере Debian (не на капле), вы можете просто перейти к отображаемому URL-адресу и подключиться к Jupyter Notebook. Если вы используете Jupyter Notebook на дроплете, вам необходимо подключиться к серверу, используя SSH-туннелирование, как описано в следующем разделе.

На этом этапе вы можете оставить SSH-соединение открытым и оставить Jupyter Notebook включенным или выйти из приложения и перезапустить его после настройки SSH-туннелирования. Давайте сделаем это просто и остановим процесс Jupyter Notebook. Мы запустим его снова, как только у нас будет работать туннель SSH. Чтобы остановить процесс Jupyter Notebook, нажмите + CTRL + C +, введите + Y + и нажмите + ENTER + для подтверждения. Будет отображено следующее:

Output[C 21:28:28.512 NotebookApp] Shutdown confirmed
[I 21:28:28.512 NotebookApp] Shutting down 0 kernels

Теперь мы настроим SSH-туннель, чтобы мы могли получить доступ к ноутбуку.

Шаг 5 - Подключение к серверу с использованием SSH-туннелирования

В этом разделе мы узнаем, как подключиться к веб-интерфейсу Jupyter Notebook с использованием SSH-туннелирования. Поскольку Jupyter Notebook будет работать на определенном порту сервера (например, +: 8888 +, +: 8889 + и т. Д.), Туннелирование SSH позволяет безопасно подключаться к порту сервера.

В следующих двух подразделах описывается, как создать SSH-туннель из 1) Mac или Linux и 2) Windows. Пожалуйста, обратитесь к подразделу для вашего локального компьютера.

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

Если вы используете Mac или Linux, шаги по созданию туннеля SSH аналогичны использованию SSH для входа на удаленный сервер, за исключением того, что в команде + ssh + есть дополнительные параметры. В этом подразделе будут описаны дополнительные параметры, необходимые в команде + ssh + для успешного туннелирования.

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

ssh -L :localhost: @

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

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

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

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

ssh -L :localhost: @

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

jupyter notebook

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

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

Если вы используете Windows, вы можете создать SSH-туннель, используя Putty.

Сначала введите URL-адрес сервера или IP-адрес в качестве имени хоста, как показано ниже:

изображение: https: //assets.digitalocean.com/articles/jupyter_notebook/set_hostname_putty.png [Установить имя хоста для туннеля SSH]

Затем нажмите * SSH * в нижней части левой панели, чтобы развернуть меню, а затем нажмите * Туннели *. Введите номер локального порта, который будет использоваться для доступа к Jupyter на вашем локальном компьютере. Выберите ` или выше, чтобы избежать портов, используемых другими службами, и установите в качестве пункта назначения `+ localhost: +`, где ` - номер порта, на котором работает Jupyter Notebook.

Теперь нажмите кнопку * Добавить *, и порты должны появиться в списке * Переадресованные порты *:

изображение: https: //assets.digitalocean.com/articles/jupyter_notebook/forwarded_ports_putty.png [Список переадресованных портов]

Наконец, нажмите кнопку * Open *, чтобы подключиться к серверу через SSH и туннелировать нужные порты. Перейдите к + http: // localhost: + (или к другому выбранному вами порту) в веб-браузере, чтобы подключиться к Jupyter Notebook, работающему на сервере. Убедитесь, что номер токена включен, или введите строку номера токена при появлении запроса в + http: // localhost: 8000 +.

Шаг 6 - Использование ноутбука Jupyter

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

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

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

изображение: https: //assets.digitalocean.com/articles/eng_python/JupyterNotebookPy3/jupyter-notebook-new.png [Создать новую записную книжку Python 3]

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

# Simple Equation

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

where $x = 2$

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

изображение: https: //assets.digitalocean.com/articles/jupyter_notebook/markdown_results.png [результаты уценки]

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

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

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

изображение: https: //assets.digitalocean.com/articles/eng_python/JupyterNotebookPy3/jupyter-notebook-md-python.png [результаты простых уравнений]

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

Заключение

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

Отсюда вам может быть интересно прочитать нашу серию на Time Series Visualization and Forecasting.

Related