Установка 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, так как он более универсален.
Обновим информацию о репозиториях:
Установим основные пакеты математических методов:
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 на Ubuntu 18.04
Как установить Jupyter Notebook на Ubuntu v18.04 при помощи Python v3
Ниже мы рассмотрим возможность установки веб-серверу под операционной системой Ubuntu приложения Jupyter Notebook и его подключения. Установка будет происходить при помощи языка программирования Python.
Немного информации
Jupyter Notebook является виртуальным приложением, у которого открыт исходный код. Оно помогает писать и делиться визуализацией, программным кодом и другими объектами. Поддерживается многими программными языками, в том числе Julia, Python, R, Руби, Haskell. Чаще всего используется для взаимодействия с большими объемами данных, статистической информацией и машинным обучением.
Jupyter Notebook состоит из файлов, которые также называются «записными книжками». В них содержится кодовая часть и результат ее выполнения. Результат может быть представлен другим пользователям и воспроизведен сторонними юзерами.
Как установить
Для начала потребуется сделать зависимость через репозиторий Ubuntu, необходимую виртуальной среде для языка Python. Перед этим следует обновить базу с локальными пакетами:
sudo apt update
sudo apt upgrade
Потом устанавливается pip вместе с файлами заголовка Python, необходимых для создания зависимостей веб-приложения:
sudo apt install python3-pip python3-dev
Как создать виртуальное окружение
Первым делом настраивается доступ пользователя для команды virtualenv:
sudo -H pip3 install —upgrade pip
sudo -H pip3 install virtualenv
Атрибут -Н показывает, что безопасность задается переменным окружения для домашнего каталога.
Затем нужно сделать и перейти в новую директорию, в которой будут храниться данные. Пусть названием служит каталог Serverspace:
Там, внутри каталога, создается виртуальная среда для Python. Рекомендуется придумывать имя среды, тесно связанное со сферой проекта. Например, Serverspace:
После таких процедур создастся окружение, в котором хранится Python и pip локальных версий. В последствии можно заняться настройками изолированных сред Python для веб-приложения.
До установки Jupyter понадобится активация виртуальной среды. Таким образом, название Serverspace следует заменить другим, более актуальным и понятным именем среды:
Как установить и запустить Jupyter
После активации виртуальной среды инсталлировать веб-приложение можно через локальный экземпляр:
pip install jupyter
Следующим образом можно подключить Jupyter Notebook на любой удаленной ПК либо веб-сервер через браузер с передаваемым токеном. Перед непосредственным запуском необходимо сделать открытие порта:
iptables -A INPUT -p tcp —dport
Более подробный пример команды:
iptables -A INPUT -p tcp —dport 1234 -j ACCEPT
Запустить приложение можно описанной ниже командой. В ней параметр —ip подскажет адреса, которые будут подключаться к виртуальному серверу Jupyter. Выставленные нули говорят о том, что подключиться можно с любым IP. Параметр —no-browser помогает провести запуск сервера без открытия браузеров. За указание портов для запуска отвечает —port=Port№. Непосредственное разрешение запуска включает —allow-root.
jupyter notebook —ip 0.0.0.0 —no-browser —port=Port№
Обратите внимание: для суперпользователей команда дополняется еще одним параметром —allow-root, который вносится в самом конце.
jupyter notebook —ip 0.0.0.0 —no-browser —port=1234 —allow-root
Когда консоль будет запущена, на экране можно увидеть длинный путь с токеном. Далее необходимо перейти по данному адресу через браузер, заменив значения в скобках доменным именем либо реальным IP-адресом устройства.
В конце возникнет рабочая область, предназначенная для взаимодействия пользователя с Python.
Источник