- Установка Jupyter Notebook на CentOS
- Установка и запуск
- Запуск в качестве сервиса
- Установка Jupyter Notebook на Ubuntu 18.04
- Немного информации
- Как установить
- Как создать виртуальное окружение
- Как установить и запустить Jupyter
- Начало работы с Jupyter Notebook
- Требования
- 1: Установка Jupyter Notebook
- 2: Запуск Jupyter Notebook
- 3: Подключение к серверу по SSH-туннелю
- SSH-туннелирование на Mac или Linux
- SSH-туннелирование в Windows через Putty
- 4: Работа с Jupyter Notebook
- Заключение
Установка 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
Источник
Установка 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.
Источник
Начало работы с Jupyter Notebook
Jupyter Notebook предоставляет командную оболочку для интерактивных вычислений в виде веб-приложения. Этот инструмент совместим с несколькими языками, включая Python, R, Julia и Scala. Он часто используется для работы с данными, статистического моделирования и машинного обучения.
Jupyter Notebook предоставляет возможность создавать документы, «notebooks». Документы Jupyter Notebook являются разделяемыми, воспроизводимыми исследовательскими документами, которые включают элементы расширенного текста, уравнения, код и их результаты (рисунки, таблицы, интерактивные графики). Их также можно экспортировать в файлы исходного кода, документы HTML или PDF или использовать для создания интерактивных слайд-шоу или веб-страниц.
В этом мануале вы узнаете, как установить и настроить приложение Jupyter Notebook на сервере Ubuntu 18.04 и как подключиться к нему с локального компьютера. Кроме того, мы также рассмотрим, как использовать Jupyter Notebook для запуска кода Python.
Требования
- Сервер Ubuntu 18.04, настроенный согласно этому мануалу.
- Предварительно установленные Python 3, pip и venv. Все инструкции можно найти в мануале Установка Python 3 и настройка среды разработки на сервере Ubuntu 18.04.
- Современный веб-браузер на локальной машине. Он нужен для доступа к Jupyter Notebook.
Кроме того, если ваш локальный компьютер работает под управлением Windows, вам нужно установить на него PuTTY, чтобы в дальнейшем создать SSH-туннель к вашему удаленному серверу. Чтобы скачать и установить PuTTY, следуйте нашему мануалу Вход на сервер через PuTTY (для пользователей Windows).
1: Установка Jupyter Notebook
Поскольку документы используются для написания, запуска и просмотра результатов небольших фрагментов кода, сначала необходимо настроить поддержку языка программирования. Jupyter Notebook использует ядро для конкретного языка (компьютерную программу, которая запускает и анализирует код). Jupyter Notebook поддерживает много ядер для разных языков, по умолчанию используется IPython. В этом мануале мы настроим Jupyter Notebook для запуска кода Python через ядро IPython.
Согласно требованиям у вас должен быть установлен Python 3, pip и виртуальная среда. В этих примерах (как и в мануале по установке Python 3) виртуальная среда называется my_env, но вы можете смело переименовать ее.
Для начала активируйте виртуальную среду:
После этого в командной строке появится префикс – имя вашей среды.
Находясь в виртуальной среде, установите Jupyter Notebook:
python3 -m pip install jupyter
Если установка прошла успешно, вы увидите такой вывод:
. . .
Successfully installed MarkupSafe-1.0 Send2Trash-1.5.0 backcall-0.1.0 bleach-2.1.3 decorator-4.3.0 entrypoints-0.2.3 html5lib-1.0.1 ipykernel-4.8.2 ipython-6.4.0 ipython-genutils-0.2.0 ipywidgets-7.2.1 jedi-0.12.0 jinja2-2.10 jsonschema-2.6.0 jupyter-1.0.0 jupyter-client-5.2.3 jupyter-console-5.2.0 jupyter-core-4.4.0 mistune-0.8.3 nbconvert-5.3.1 nbformat-4.4.0 notebook-5.5.0 pandocfilters-1.4.2 parso-0.2.0 pexpect-4.5.0 pickleshare-0.7.4 prompt-toolkit-1.0.15 ptyprocess-0.5.2 pygments-2.2.0 python-dateutil-2.7.3 pyzmq-17.0.0 qtconsole-4.3.1 simplegeneric-0.8.1 six-1.11.0 terminado-0.8.1 testpath-0.3.1 tornado-5.0.2
Jupyter Notebook был успешно установлен на ваш удаленный сервер. Теперь попробуем запустить приложение.
2: Запуск Jupyter Notebook
Jupyter Notebook должен быть запущен на вашем VPS, чтобы вы могли подключиться к нему с локального компьютера через SSH-туннель и веб-браузер.
Чтобы запустить сервер Jupyter Notebook, введите следующую команду:
После выполнения этой команды вы увидите подобный вывод:
[I 19:46:22.031 NotebookApp] Writing notebook server cookie secret to /home/8host/.local/share/jupyter/runtime/notebook_cookie_secret
[I 19:46:22.365 NotebookApp] Serving notebooks from local directory: /home/8host/environments
[I 19:46:22.365 NotebookApp] 0 active kernels
[I 19:46:22.366 NotebookApp] The Jupyter Notebook is running at:
[I 19:46:22.366 NotebookApp] http://localhost:8888/?token=Example_Jupyter_Token_3cadb8b8b7005d9a46ca4d6675
[I 19:46:22.366 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 19:46:22.366 NotebookApp] No web browser found: could not locate runnable browser.
[C 19:46:22.367 NotebookApp] Copy/paste this URL into your browser when you connect for the first time,
to login with a token:
http://localhost:8888/?token=Example_Jupyter_Token_3cadb8b8b7005d9a46ca4d6675&tokenExample_Jupyter_Token_3cadb8b8b7005d9a46ca4d6675
В выводе вы можете заметить предупреждение, что веб-браузер отсутствует: «No web browser». Этого и следует ожидать, так как приложение работает на удаленном сервере, и вы, вероятно, не устанавливали на него веб-браузер. Далее в этом мануале будет рассказано, как подключиться к Notebook на удаленном сервере с помощью SSH-туннелирования. Мы обсудим это в следующем разделе.
На данный момент нужно выйти из Jupyter Notebook, нажав Ctrl+C, затем y, а затем Enter для подтверждения:
Shutdown this notebook server (y/[n])? y
[C 20:05:47.654 NotebookApp] Shutdown confirmed
[I 20:05:47.654 NotebookApp] Shutting down 0 kernels
Затем выйдите из сервера:
Только что вы запустили Jupyter Notebook на своем сервере. Однако чтобы получить доступ к приложению и начать работать с документами, вам необходимо подключиться к приложению с помощью SSH-туннеля и веб-браузера на локальном компьютере.
3: Подключение к серверу по SSH-туннелю
Туннелирование SSH – это простой и быстрый способ подключения к приложению Jupyter Notebook на удаленном сервере. Оболочка Secure shell (более известная как SSH) – это сетевой протокол, который позволяет безопасно подключаться к удаленному серверу по незащищенной сети.
Протокол SSH включает механизм переадресации портов, который позволяет создавать туннели между конкретными портами на сервере и на вашем локальном компьютере. В этом разделе вы узнаете, как туннелировать приложение Jupyter Notebook, работающее на вашем сервере (по умолчанию это порт 8888), на локальную машину.
Метод установки туннеля SSH будет зависеть от операционной системы вашего локального компьютера. Выберите соответствующий подраздел и выполните его.
SSH-туннелирование на Mac или Linux
Если вы используете Mac или Linux, вы можете создать туннель с помощью одной команды.
ssh – это стандартная команда для открытия соединения SSH, но флаг -L в ней позволяет указать, что данный порт на локальном хосте (то есть на вашем локальном компьютере) будет перенаправляться на данный хост и порт на удаленной стороне (в данном случае это ваш сервер). Это означает, что все, что работает по порту 8888 на сервере (в команде этот порт указывается после localhost), будет отображаться по порту 8888 на вашем локальном компьютере (этот порт идет перед localhost).
Чтобы установить SSH-туннель, выполните следующую команду. Вместо порта 8000 укажите любой другой порт (если, например, 8000 используется другим процессом). Рекомендуется использовать номера портов от 8000 и выше, так как эти порты вряд ли будут заняты другими процессами. Не забудьте указать IP-адрес вашего сервера и имя пользователя (не root):
ssh -L 8000:localhost:8888 8host@your_server_ip
Если после выполнения команды не появляется никаких ошибок, вы можете войти на удаленный сервер и активировать виртуальную среду:
В среде запустите Jupyter Notebook:
Чтобы подключиться к Jupyter Notebook, откройте в браузере на локальном компьютере веб-интерфейс Jupyter Notebook по URL-адресу, который начинается с http://localhost:8000.
SSH-туннелирование в Windows через Putty
В системе Windows SSH-туннель можно создать с помощью Putty.
PuTTY – это открытый SSH-клиент для Windows, который можно использовать для подключения к вашему серверу. После загрузки и установки PuTTY на вашем компьютере Windows откройте программу и введите URL или IP-адрес вашего сервера в поле Host Name (or IP address).
Затем нажмите кнопку SSH в нижней части левой панели, чтобы развернуть меню, и нажмите Tunnels. Введите номер локального порта, который будет использоваться для доступа к Jupyter на локальном компьютере. Рекомендуется использовать номера портов от 8000 и выше, так как эти порты вряд ли будут заняты другими процессами. Установите назначение localhost:8888 (где 8888 – это номер порта, на котором работает Jupyter Notebook).
Теперь нажмите кнопку Add, после чего порты должны появиться в списке Forwarded ports.
Затем нажмите кнопку Open, чтобы подключиться к серверу через SSH и туннелировать нужные порты. Если при этом не возникло ошибок, активируйте виртуальную среду:
И запустите Jupyter Notebook:
В браузере перейдите по адресу http://localhost:8000 (или укажите порт, который вы выбрали), чтобы подключиться к экземпляру Jupyter Notebook на сервере.
4: Работа с Jupyter Notebook
При доступе через веб-браузер Jupyter Notebook предоставляет панель инструментов Notebook Dashboard, которая действует как файловый браузер и предоставляет вам интерфейс для создания, редактирования и изучения документов. Это документы с расширением .ipynb, которые заполняются любым количеством отдельных ячеек. Каждая ячейка содержит интерактивный текстовый редактор, который можно использовать для запуска кода или написания текста. Кроме того, документы позволяют писать и выполнять уравнения, а также включают в себя другие мультимедиа, такие как изображения или интерактивные графики. Их можно экспортировать и совместно использовать в различных форматах (.ipyb, .pdf, .py). Чтобы проиллюстрировать некоторые из этих функций, мы создадим файл документа с помощью панели инструментов Notebook Dashboard, запишем простой текст с уравнением и запустим базовый код Python 3.
К этому моменту вы должны были подключиться к серверу через туннель SSH и запустить приложение Jupyter Notebook с вашего сервера. После перехода по адресу http://localhost:8000 вы увидите страницу входа.
В верхнем поле Password or token введите токен, который был показан в выводе после запуска на сервере команды jupyter notebook:
[I 20:35:17.004 NotebookApp] Writing notebook server cookie secret to /run/user/1000/jupyter/notebook_cookie_secret
[I 20:35:17.314 NotebookApp] Serving notebooks from local directory: /home/8host
[I 20:35:17.314 NotebookApp] 0 active kernels
[I 20:35:17.315 NotebookApp] The Jupyter Notebook is running at:
[I 20:35:17.315 NotebookApp] http://localhost:8888/?token=Example_Jupyter_Token_3cadb8b8b7005d9a46ca4d6675
[I 20:35:17.315 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 20:35:17.315 NotebookApp] No web browser found: could not locate runnable browser.
[C 20:35:17.316 NotebookApp] . . .
Кроме того, вы можете скопировать этот URL из вывода вашего терминала и вставить его в адресную строку браузера.
В документе Jupyter автоматически отобразятся все файлы и папки, хранящиеся в каталоге, из которого он запущен. Создайте новый файл документа, нажав New, а затем «Python 3» в правом верхнем углу панели инструментов Notebook Dashboard.
Это откроет новый документ. Например, чтобы первая ячейка принимала Markdown, кликните Cell > Cell Type > Markdown в верхней панели навигации. Теперь можно делать записи, используя Markdown, и даже включать уравнения, написанные в LaTeX, помещая их между символами $$. Например, в ячейку с поддержкой Markdown введите следующее:
# Simple Equation
Let us now implement the following equation in Python:
$$ y = x^2$$
where $x = 2$
Чтобы превратить Markdown в форматированный текст, нажмите сочетание клавиш Ctrl + Enter.
Вы можете использовать ячейки markdown, чтобы делать заметки и документировать свой код.
Давайте выполним это простое уравнение и выведем результат на экран. Нажмите Insert > Insert Cell Below, чтобы добавить новую ячейку. Введите следующий код в новой ячейке.
x = 2
y = x*x
print(y)
Чтобы запустить код, нажмите Ctrl + Enter. На экране появится результат.
Вот несколько сравнительно простых примеров того, что вы можете сделать с помощью Jupyter Notebook. Но помните – это приложение очень мощное, оно имеет много других, более сложных вариантов использования. Теперь вы можете добавить библиотеки Python, импортировать модули и использовать документы, как и в любой другой среде разработки Python!
Заключение
Теперь вы можете писать воспроизводимый код Python и создавать заметки в Markdown с помощью Jupyter Notebook. Быстрый обзор Jupyter Notebook можно получить прямо из интерфейса, для этого выберите Help > User Interface Tour в верхнем меню навигации.
Если вам интересно узнать о Jupyter Notebook больше, мы рекомендуем изучить документацию Project Jupyter. Кроме того, вы можете научиться программировать на Python 3.
Источник