Jupiter notebook для linux

Установка Jupyter Notebook на CentOS

Jupyter Notebook — это приложение для создания книг и документов из вычислительного материала (в формате .ipynb). Его установка и запуск должны выполняться от пользователя с правами, отличными от root. В данной инструкции мы будем выполнять часть операций от последнего, остальное — от пользователя jupyter. Руководство подходит для Linux CentOS версий 7 и 8.

Перед установкой можно ознакомиться с приложением онлайн на официальном сайте.

Установка и запуск

От пользователя root устанавливаем необходимые компоненты:

# yum install gcc python3-devel python3-pip kernel-headers

  • gcc — набор компиляторов для разных языков программирования.
  • python3-devel — средства для разработки Python. Библиотеки и инструменты для создания своих модулей и возможности встраивания Python в другие приложения.
  • python3-pip — инструмент для установки пакетов python.
  • kernel-headers — заголовочные файлы ядра. Необходимы для сборки модулей последнего.

Создаем пользователя, от которого будем запускать Jupyter Notebook:

# useradd jupyter -m

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

Создаем правило в брандмауэре для подключения к Jupyter Notebook по сети:

# firewall-cmd —permanent —add-port=8080/tcp

* предполагается, что наш сервис будет запускаться на порту 8080.

Применяем настройки firewalld:

Заходим в систему под созданным пользователем jupyter:

Выполним установку питон-приложения jupyter:

$ pip3 install —user jupyter

Проверить корректность установки можно командой:

Мы должны увидеть версию установленного приложения, например:

jupyter core : 4.7.0
jupyter-notebook : 6.1.5
qtconsole : 4.7.7
ipython : 7.16.1
ipykernel : 5.3.4
jupyter client : 6.1.7
jupyter lab : not installed
nbconvert : 6.0.7
ipywidgets : 7.5.1
nbformat : 5.0.8
traitlets : 4.3.3

* обратите внимание, что в списке есть jupyter lab, который не установлен. При желании, его устанавливаем командой: pip3 install —user jupyterlab.

Создаем конфигурационный файл для Jupyter Notebook:

jupyter notebook —generate-config

Он должен появиться в домашней директории пользователя jupyter:

Writing default config to: /home/jupyter/.jupyter/jupyter_notebook_config.py

Задаем пароль для входа в веб-панель:

$ jupyter notebook password

Дважды вводим пароль — система создаст для него хэш и сохранить в домашней папке пользователя:

Enter password:
Verify password:
[NotebookPasswordApp] Wrote hashed password to /home/jupyter/.jupyter/jupyter_notebook_config.json

$ jupyter notebook —no-browser —ip=0.0.0.0 —port=8080

* в данном примере мы запускаем jupyter notebook на порту 8080 и на всех сетевых интерфейсах.

Открываем браузер и переходим по пути http:// :8080 — должна открывать страница с формой ввода пароля, который мы создавали ранее — вводим его:

Откроется страница Jupyter Notebook:

Если jupyter notebook не открывается в браузере, запускаем другую консоль на компьютере с приложением и выполняем команду:

ss -tunlp | grep 8080

Мы должны увидеть что-то на подобие:

tcp LISTEN 0 128 0.0.0.0:8080 0.0.0.0:* users:((«jupyter-noteboo»,pid=8510,fd=5))

В противном случае проверяем, что у нас запустилось приложение. Но если команда ss -tunlp | grep 8080 показала наличие сервиса, который слушает на порту 8080, еще раз проверяем настройки брандмауэра:

Мы должны увидеть правило:

После окончания работы можно выходить из-под пользователя jupyter:

Запуск в качестве сервиса

Мы установили и запустили наше приложение из консоли. Однако, если мы хотим, чтобы Jupyter Notebook запускался как сервис автоматически, создаем юнит в systemd:

[Unit]
Description=Jupyter Notebook Service
After=network.target

[Service]
User=jupyter
Group=jupyter
Type=simple
WorkingDirectory=/home/jupyter
ExecStart=/home/jupyter/.local/bin/jupyter notebook —no-browser —ip=0.0.0.0 —port=8080
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure

Источник

This is Jupyter

Jupyter Notebook – это свободно распространяемый инструмент, позволяющий легко визуализировать и красиво представлять результаты выполнения частей кода, написанного на таких языках программирования как Python, Ruby и не только:
Особенности работы, интерфейс и основные понятия Jupiter рассмотрим после установки и первичной настройки.

Jupyter Notebook устанавливается на все основные настольные операционные системы. Представляет собой сервер, работа с которым осуществляется через браузер — соответственно обращаться к Jupiter можно с любого устройства внутри сети, в которой находится машина с работающим Jupiter, если его запуск правильно настроен. А как это сделать читаем ниже.

Установка и запуск

Единственной самой главной зависимостью Jupiter является наличие интерпретатора целевого языка программирования, в нашем случае — Питона — второго или третьего или обоих. Рассмотрим вариант для Python 3 так как прогресс не стоит на месте.
На офф. сайте Jupiter предлагается два метода установки:

  • через менеджер “Data Science”-пакетов Anaconda
  • с помощью старого доброго pip’а — основного менеджера пакетов для Python

Рассмотрим вариант установки через pip, так как он более универсален.
Обновим информацию о репозиториях:

Читайте также:  Отключить эскизы панели задач windows 10

Установим основные пакеты математических методов:

pip как правило установлен по умолчанию, обновим его

Установка Jupiter и чистка кеша

После установки выполним перезагрузку:
Так как Jupiter — серверное приложение, то для входа в него требуется аутентификация, настроим сразу вход по паролю (во время настройки через терминал вводимый пароль не будет отображаться даже звездочками — в Линуксе это нормально):

Переместимся в домашнюю папку — после запуска сервера текущая папка в интерфейсе Jupiter станет корневой и выше из нее нельзя будет переместиться:

Чтоб иметь доступ к поднятому серверу с другим машин, при запуске необходимо указать IP-адрес машины и порт. (как узнать и зафиксировать IP см. Настройка статического IP адреса)

А для доступа только с локальной машины запускаем командой
Сервер запущен. Чтоб открыть Jupiter с машины на которой он запущен вводим в адресной строке браузера http://localhost:8888/, а чтоб открыть интерфейс Jupiter с любого другого устройства внутри сети вводим http://192.168.1.111:8888 (соответственно заменяя IP-адрес на указанный при запуске)

Вводим указанный в настройках пароль:
Если все сделано верно, то увидим следующее — это навигатор по директориям домашнего каталога (откуда через терминал был запущен Jupiter):

Основы работы в Jupiter и термины

Файлы в контексте Jupyter Notebook называются блокнотами (notebook) — их можно создавать, изменять, сохранять и передавать.
Так как блокноты содержат в себе программный код, который исполняется при запуске блокнота — обращайте внимание на источник, если вы скачали чей то блокнот и собираетесь запустить.
При нажатии на кнопку “New” видим, что кроме ноутбуков можно создать обычные текстовые файлы, папки и открыть терминальное окно через браузер на том компьютере, на котором сейчас запущен Jupiter.
Создадим новый блокнот Python 3:Откроется интерфейс пока пустого блокнота. Здесь мы видим:

  • строку меню (File, Edit . )
  • строку инструментов (удобнее пользоваться сочетаниями клавиш, справка по которым находится в Help > Keyboard Shortcuts), содержащую также выпадающий список выбора функции ячейки
  • рабочую область — текстовое поле с голубой окантовкой (командный режим выделенной ячейки), пометкой “In [ ]”, которая будет содержать порядковый номер поля — это ячейка

Если ячейка не имеет рамки и окантовки, выделите ее кликом мыши
В командном режиме можно перемещаться по ячейкам, манипулировать количеством, размещением и функциями ячеек. Перейдем в режим редактирования нажав Enter при выделенной ячейке.
В режиме редактирования рамка ячейки окрашивается в зеленый цвет и появляется приглашение для ввода. Так как функциональность ячейки определена для программного кода (“Code”), введем простейший Python-код и запустим его сочетанием клавиш Ctrl + Enter:Код выполнился и под ячейкой появился результат команды print
После запуска ячейки режим редактирования сменяется на командный, еще этого можно достичь нажав Esc.

Находясь в командном режиме при выделенной ячейке нажмем “B” — это создаст новую ячейку под выделенной (below)Создание новой ячейки над выделенной — клавишей “A” (above), а удаление — “D” (delete)
Рассмотрим другую функцию ячейки — Markdown — в такой ячейке можно рендерить отформатированный текст, формулы и графику. Попробуем вывести изображение. Это делается командой

При этом можно опробовать функцию дописывания команд по нажатию Tab:
Чтоб ячейка заработала правильно и вывела изображение необходимо сменить ее тип с Code на Markdown. При выделенной ячейке в командном режиме это можно сделать клавишей “M” (возврат в Code — “Y”) или через выпадающий список в строке инструментов:
Запускаем выполнение ячейки:
Со всеми аспектами и возможностями разметки Markdown можно познакомиться здесь.

В Code-ячейке можно выполнять любые терминальные команды если начинать строку с восклицательного знака, даже посмотреть системный лог: Это очень полезно в случае надобности быстро провести манипуляции с файлами (скопировать, переместить, скачать и т.д.). Однако это не очень безопасно для системы машины, на которой запущен Jupiter.
Для самых распространенных действий в Jupiter существуют так называемые “магические” команды. Они начинаются с символа “%”, их полный список можно вывести в ячейке кода командой

Спектр их весьма широк — от работы с файловой системой до удобной отладки и структурирования кода:
Вот к примеру в Python-блокноте можно выполнить код на Ruby командой

(естественно интерпретатор Ruby должен быть установлен в системе на которой запущен Jupiter)
Документацию по всем “магическим” командам можно почитать здесь на английском языке.

Вот все основы и принципы работы в Jupiter Notebook. Со всеми мелочами, аспектами и подводными камнями проще разбираться уже на конкретных примерах (в последующих статьях).
Не забывайте сохраняться!

Источник

Установка Jupyter Notebook для Python 3 в Ubuntu 20.04 и подключение по SSH-туннелю

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

Читайте также:  Неудачное обновление windows 10 как откатить

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

В этом мануале вы узнаете, как установить и настроить Jupyter Notebook на сервере Ubuntu 20.04, а также научитесь работать с документами через туннель. В результате вы сможете запустить код Python 3 с помощью Jupyter Notebook на удаленном сервере.

Требования

Для работы вам понадобится свежий сервер Ubuntu 20.04 с пользователем sudo и настроенным брандмауэром. Начальная настройка сервера подробно описана здесь.

1: Установка Python

Для начала нужно установить зависимости виртуальной среды Python из репозиториев Ubuntu. Ubuntu 20.04 поставляется с предустановленным Python 3. Немого позже мы установим другие пакеты с помощью менеджера пакетов pip.

Обновите индекс пакетов:

sudo apt update

Затем установите pip и заголовки Python (они необходимы некоторым зависимостям Jupyter):

sudo apt install python3-pip python3-dev

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

2: Создание виртуальной среды для Jupyter

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

Для начала нужно установить команду virtualenv. Это можно сделать с помощью pip. Обновите pip и установите пакет:

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

Флаг -H устанавливает в переменной среды home домашний каталог целевого пользователя.

После установки virtualenv можно начать работу над виртуальной средой. Создайте отдельный каталог для файлов проекта и перейдите в него. В этом мануале мы условно назовем его my_project_dir, но вам лучше выбрать какое-то описательное название.

В этом каталоге создайте виртуальную среду Python. Для примера она называется здесь my_project_env.

Эта команда создаст каталог my_project_env в вашем каталоге my_project_dir. Внутри будет установлена локальная версия Python и pip. Их можно использовать для установки и настройки изолированной среды Python для Jupyter.

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

Ваша командная строка должна измениться – она укажет имя виртуальной среды Python, в которой вы сейчас работаете. Она будет выглядеть примерно так:

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

3: Установка Jupyter

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

pip install jupyter

Примечание: В виртуальной среде (когда командная строка начинается с (my_project_env)) используйте команду pip вместо pip3, даже если работаете с Python 3. Копия инструмента в виртуальной среде всегда называется pip, независимо от версии Python.

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

4: Запуск Jupyter Notebook

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

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

[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/sammy/my_project_dir
[I 21:23:21.361 NotebookApp] The Jupyter Notebook is running at:
[I 21:23:21.361 NotebookApp] http://localhost:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72
[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:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72

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

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

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

Читайте также:  Windows cannot find file path error

5: Подключение к серверу по SSH-туннелю

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

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

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

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

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

ssh -L 8888:localhost:8888 your_server_username@your_server_ip

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

Если порт 8888 уже используется другим процессом, измените его на любой другой. server_username – это имя вашего пользователя (например, 8host) на сервере, а your_server_ip – это IP-адрес сервера. Допустим, если имя пользователя – 8host, а адрес – 203.0.113.0, то команда будет выглядеть так:

ssh -L 8888:localhost:8888 8host@203.0.113.0

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

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

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

В системе Windows SSH-туннель можно создать с помощью инструмента Putty.

Сначала введите URL или IP-адрес сервера в поле Host Name (or IP address).

Затем нажмите кнопку SSH в нижней части левой панели, чтобы развернуть меню, и нажмите Tunnels. Введите номер локального порта, который будет использоваться для доступа к Jupyter на локальном компьютере. Выберите порт 8000 и выше, чтобы не занимать порты, используемые другими сервисами, и установите назначение localhost:8888 (где 8888 – это номер порта, на котором работает Jupyter Notebook).

Теперь нажмите кнопку Add, после чего порты должны появиться в списке Forwarded ports.

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

6: Работа с Jupyter Notebook

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

Теперь вы должны быть подключены к нему с помощью веб-браузера.

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

Чтобы создать новый документ, выберите New → Python 3 в правом верхнем выпадающем меню.

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

# First Equation
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!

Заключение

Теперь вы можете писать воспроизводимый код Python и создавать заметки в Markdown с помощью Jupyter Notebook. Быстрый обзор Jupyter Notebook можно получить прямо из интерфейса, для этого выберите Help → User Interface Tour в верхнем меню навигации.

Источник

Оцените статью