Как настроить ноутбук Jupyter для запуска IPython в Ubuntu 16.04

Вступление

IPython - это интерактивный интерфейс командной строки для Python. Jupyter Notebook предлагает интерактивный веб-интерфейс для многих языков, включая IPython.

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

К концу этого руководства вы сможете запускать код Python 2.7, используя Ipython и Jupyter Notebook, работающие на удаленном сервере. Для целей данного руководства используется Python 2 (2.7.x), поскольку многие библиотеки по науке о данных, научным вычислениям и высокопроизводительным вычислениям поддерживают версии 2.7, а не 3.0+.

Предпосылки

Чтобы следовать этому уроку, вам понадобится следующее:

  • Ubuntu 16.04 Droplet

  • Пользователь без полномочий root с привилегиями sudo (Initial Server Setup с Ubuntu 16.04 объясняет, как это настроить. )

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

Шаг 1 - Установка Python 2.7 и Pip

В этом разделе мы установим Python 2.7 и Pip.

Сначала обновите индекс пакета системы. Это гарантирует, что старые или устаревшие пакеты не будут мешать установке.

sudo apt-get update

Затем установите Python 2.7, Python Pip и Python Development:

sudo apt-get -y install python2.7 python-pip python-dev

Установка + python2.7 + обновит до последней версии Python 2.7, а + python-pip + установит Pip, который позволяет нам управлять пакетами Python, которые мы хотели бы использовать. Некоторые из зависимостей Jupyter могут потребовать компиляции, в этом случае вам понадобится возможность компилировать C-расширения Python, поэтому мы также устанавливаем + python-dev +.

Чтобы убедиться, что у вас установлен Python:

python --version

Это выведет:

OutputPython 2.7.11+

В зависимости от последней версии Python 2.7 выходные данные могут отличаться.

Вы также можете проверить, установлен ли pip, с помощью следующей команды:

pip --version

Вы должны что-то похожее на следующее:

Outputpip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)

Аналогично, в зависимости от вашей версии pip, результат может быть немного другим.

Шаг 2 - Установка Ipython и Jupyter Notebook

В этом разделе мы установим Ipython и Jupyter Notebook.

Сначала установите Ipython:

sudo apt-get -y install ipython ipython-notebook

Теперь мы можем перейти к установке ноутбука Jupyter:

sudo -H pip install jupyter

В зависимости от того, какая версия pip находится в репозитории Ubuntu apt-get, вы можете получить следующую ошибку при попытке установить Jupyter:

OutputYou are using pip version 8.1.1, however version 8.1.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

Если это так, вы можете использовать pip для обновления pip до последней версии:

sudo -H pip install --upgrade pip

Обновите pip и попробуйте снова установить Jupyter:

sudo -H pip install jupyter

Шаг 3 - Запуск ноутбука Jupyter

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

jupyter notebook

Если вы используете Jupyter в системе с установленным JavaScript, он все равно будет работать, но он может выдать ошибку, сообщающую, что для Jupyter Notebook требуется JavaScript:

OutputJupyter Notebook requires JavaScript.
Please enable it to proceed.
...

Чтобы игнорировать ошибку, вы можете нажать + Q + и затем нажать + Y + для подтверждения.

Журнал действий Jupyter Notebook будет распечатан на терминале. Когда вы запускаете Jupyter Notebook, он работает с определенным номером порта. Первая записная книжка, которую вы используете, обычно работает на порту ++. Чтобы проверить конкретный номер порта, на котором работает 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/
[I NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

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

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

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

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

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

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

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

Если вы используете Mac или Linux, шаги по созданию туннеля SSH аналогичны https://www.digitalocean.com/community/tutorials/how-to-use-ssh-keys-with-digitalocean-droplets [ Как пользоваться SSH-ключами с DigitalOcean Droplets с использованием Linux или Mac], за исключением того, что в команду + ssh + добавлены дополнительные параметры. В этом подразделе будут описаны дополнительные параметры, необходимые в команде + ssh + для успешного туннелирования.

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

ssh -L :localhost: @

Команда + ssh + открывает соединение SSH, но + -L + указывает, что данный порт на локальном (клиентском) хосте должен быть перенаправлен на данный хост и порт на удаленной стороне (Droplet). Это означает, что все, что работает на втором номере порта (т.е. `) в Droplet появится на первом номере порта (т.е. `) на вашем локальном компьютере. Вы должны изменить ` на порт, на котором работает Jupyter Notebook. При желании измените порт ` на один из ваших вариантов (например, если + 8000 + используется другим процессом). Используйте порт, больший или равный + 8000 + (то есть `, ` и т. Д.), Чтобы избежать использования порта, уже используемого другим процессом. «» - это ваше имя пользователя (т.е. sammy) в созданной вами капле, а `` - это IP-адрес вашей капли. Например, для имени пользователя ` и адреса сервера ` команда будет такой:

ssh -L :localhost: @

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

jupyter notebook

Теперь из веб-браузера на вашем локальном компьютере откройте веб-интерфейс Jupyter Notebook с помощью + http: // localhost: + (или любого другого номера порта, который вы выбрали).

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

Если вы используете Windows, вы также можете легко создать SSH-туннель, используя Putty, как описано в https://www.digitalocean.com/community/tutorials/how-to-use-ssh-keys-with-putty-on-digitalocean -droplets-windows-users [Как использовать SSH-ключи с PuTTY в DigitalOcean Droplets (для пользователей Windows)].

Сначала введите 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, работающему на сервере.

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

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

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

изображение: https: //assets.digitalocean.com/articles/jupyter_notebook/create_python2_notebook.png [Создать новую записную книжку Python 2]

Это откроет блокнот. Теперь мы можем запустить код 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 [результаты уценки]

Вы можете использовать ячейки уценки, чтобы делать заметки и документировать свой код. Давайте реализуем это простое уравнение и напечатаем результат. Выберите * Вставить *> * Вставить ячейку ниже *, чтобы вставить и ячейку, и введите следующий код:

x = 2
y = x*x
print y

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

изображение: https: //assets.digitalocean.com/articles/jupyter_notebook/equations_results.png [результаты простого уравнения]

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

Заключение

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

Related