Как установить JupyterLab на Ubuntu 24.04

JupyterLab – это интерактивная веб-среда разработки с открытым исходным кодом, которая расширяет возможности классического блокнота Jupyter Notebook, предоставляя более гибкий и мощный интерфейс для решения задач, связанных с изучением данных и научными вычислениями. Она поддерживает различные языки программирования, в основном Python, и предлагает такие возможности, как редактирование кода, визуализация данных и интерактивный вывод в едином, интегрированном рабочем пространстве. JupyterLab позволяет пользователям создавать и управлять блокнотами, текстовыми редакторами, терминалами и другими пользовательскими компонентами в виде вкладок, что повышает производительность и улучшает совместную работу. На Ubuntu его можно легко установить с помощью менеджеров пакетов, таких как apt, или через программу установки пакетов Python pip, что делает его доступным инструментом для разработчиков и исследователей, использующих этот популярный дистрибутив Linux.

В этом руководстве вы узнаете, как установить Jupyter на Ubuntu 24.04. Вы установите и закрепите Jupyter с аутентификацией по паролю. Затем вы установите Nginx и настроите его как обратный прокси.

Предварительные условия

Перед началом работы убедитесь, что у вас есть следующие требования:

  • Ubuntu 24.04.
  • Некорневой пользователь с правами администратора.
  • Доменное имя, указывающее на IP-адрес сервера (публичный или частный домен).

Установка зависимостей

В этом разделе вы установите зависимости для Jupyter, который включает в себя Python, Pip, venv, и Node.js. Эти пакеты по умолчанию доступны в репозитории Ubuntu, и вы установите их через менеджер пакетов APT.

Для начала выполните приведенную ниже команду, чтобы обновить индекс пакетов Ubuntu.

sudo apt update

Теперь установите Python3 и Node.js через репозиторий Ubuntu с помощью следующих команд – Enter Y для подтверждения установки:

sudo apt install python3-dev python3-pip python3-venv nodejs npm

установить зависимости

После завершения установки проверьте версию Python, Node.js и Pip, выполнив следующие действия:

python3 -v
pip3 -v
node -v

Ниже вы можете видеть, что установлены Python 3.12, Node.js 18 и Pip 24.

проверить версию

Установка Jupyter

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

Войдите в систему под своим пользователем с помощью команды ниже – В следующем примере будет использоваться пользователь alice:

su – alice

Выполните приведенную ниже команду, чтобы создать новый каталог ~/Dev и переместитесь в него. Затем создайте новый Python venv виртуальную среду.

mkdir -p ~/Dev; cd ~/Dev
python3 -v venv venv

Теперь активируйте venv виртуальное окружение с помощью следующей команды. После активации ваша оболочка примет вид (venv) user@hostname.

источник venv/bin/activate

Далее выполните команду pip3 команду ниже, чтобы установить Jupyter через репозиторий PyPi:

pip3 install jupyter

Ниже вы можете увидеть jupyter установку через pip3 команду:

установка jupyter

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

jupyter –version

Вы увидите версию каждого Jupyter компонент, такой как jupyterlab, jupyter_server, jupyter_client, jupyter_core, и iPython.

Настройка Jupyter

В этом разделе вы настроите два основных компонента Jupyter, которые jupyter_server и jupyterlab. Вы создадите конфигурацию и настроите проверку подлинности пароля для обоих компонентов. Затем вы запустите Jupyter через командную строку.

Сначала запустите программу jupyter приведенную ниже команду, чтобы сгенерировать jupyter_server конфигурации и пароля. Введите пароль при появлении запроса и повторите.

jupyter server –generate-config
пароль сервера jupyter

Ниже вы можете увидеть jupyter_server конфигурация создается для ~/.jupyter/jupyter_server_config.py, а файл паролей записывается в ~/.jupyter/jupyter_server_config.json.

генерировать конфигурацию и пароль сервера

Проверьте jupyter_server конфигурацию с помощью приведенной ниже команды.

jupyter server –show-config

Вы увидите аналогичный вывод, как показано ниже:

показать конфигурацию сервера

Далее выполните команду jupyter команду ниже, чтобы сгенерировать jupyterlab конфигурация для ~/.jupyter/jupyter_lab_config.py. Затем проверьте jupyterlab конфигурацию.

jupyter lab –generate-config
jupyter lab –show-config

В следующем выводе путь URL по умолчанию для jupyterlab это /lab.

конфигурация geenrate jupyterlab

Теперь запустите программу jupyter команду ниже, чтобы запустить jupyterlab из командной строки. Команда jupyterlab должен быть запущен на порту 8888 и путь URL lab.

jupyter lab –ip 0.0.0.0

запуск jupyter из командной строки

Посетите сайт http://server-ip:8888/lab, чтобы получить доступ к вашему jupyterlab . Вы увидите следующее Jupyter приборная панель.

протестировать jupyter

Теперь нажмите Ctrl+c и введите yes для завершения jupyterlab процесс.

Запуск JupyterLab в качестве службы

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

Создайте новый служебный файл systemd /etc/systemd/system/jupyterlab.service с помощью следующей команды редактора nano.

sudo nano /etc/systemd/system/jupyterlab.service

Введите следующую конфигурацию и не забудьте изменить пользователя alice с вашим именем пользователя.

[Unit]
Description=JupyterLab Service

[Service]
Type=simple
PIDFile=/run/jupyter.pid
ExecStart=/home/alice/Dev/venv/bin/jupyter lab --config=/home/alice/.jupyter/jupyter_lab_config.py
User=alice
Group=alice
WorkingDirectory=/home/alice/Dev
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

Сохраните файл и выйдите из редактора после завершения работы.

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

sudo systemctl daemon-reload

Далее запустите и включите jupyterlab с помощью следующей команды.

sudo systemctl start jupyterlab
sudo systemctl enable jupyterlab

jupyter systemd

Наконец, выполните приведенную ниже команду, чтобы проверить jupyterlab состояние службы. Вы увидите jupyterlab служба запущена и включена в вашей системе.

sudo systemctl status jupyterlab

проверить статус jupyter

Разрешение удаленного доступа к Jupyter

Прежде чем настраивать Nginx в качестве обратного прокси, необходимо разрешить удаленный доступ на сервере jupyterlab. Теперь вы измените файл ~/.jupyter/jupyter_lab_config.py и включите удаленный доступ.

Сначала откройте jupyterlab конфигурацию ~/.jupyter/jupyter_lab_config.py с помощью следующего редактора nano.

nano ~/.jupyter/jupyter_lab_config.py

Откомментируйте c.ServerApp.allow_remote_access и измените его на True. Это позволит обеспечить удаленный доступ для jupyterlab.

c.ServerApp.allow_remote_access = True

После завершения работы сохраните и выйдите из файла.

Теперь выполните приведенную ниже команду, чтобы перезапустить jupyterlab и примените изменения. После того как удаленный доступ будет включен в Jupyter, будет сгенерирован новый токен для установки пароля.

sudo systemctl restart jupyterlab

Посмотрите на нижнюю часть сообщения и скопируйте сгенерированный токен для Jupyter.

токен jupyter

Настройка Nginx в качестве обратного прокси-сервера

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

Установите веб-сервер Nginx с помощью следующей команды – Ввод Y для продолжения установки.

sudo apt install nginx

установить nginx

После завершения установки создайте новую конфигурацию блока сервера Nginx /etc/nginx/sites-available/jupyterlab , используя следующий редактор nano.

sudo nano /etc/nginx/sites-available/jupyterlab

Добавьте в файл следующую конфигурацию и не забудьте изменить имя домена в поле server_name .

server {
    listen 80;
    server_name lab.local;

    access_log /var/log/nginx/lab.local.access.log;
    error_log /var/log/nginx/lab.local.error.log;

    location / {
        proxy_pass http://127.0.0.1:8888;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $http_host;
        proxy_http_version 1.1;
        proxy_redirect off;
        proxy_buffering off;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_read_timeout 86400;
    }
}

После этого сохраните и выйдите из файла.

Теперь выполните приведенную ниже команду, чтобы активировать jupyterlab блока сервера и проверки синтаксиса Nginx. Если у вас правильная конфигурация, вы получите вывод syntax is ok ... test is successful.

sudo ln -s /etc/nginx/sites-available/jupyterlab /etc/nginx/sites-enabled/
sudo nginx -t

Наконец, выполните приведенную ниже команду, чтобы перезапустить Nginx и применить новые настройки jupyterlab конфигурацию серверного блока. После выполнения команды ваша Jupyter работает под управлением обратного прокси-сервера Nginx.

sudo systemctl restart nginx

настройка обратного прокси-сервера nginx

Доступ к Jupyter

Если вы используете Linux или MacOS, отредактируйте файл /etc/hosts файл. Для пользователей Windows отредактируйте файл C:\System32\drivers\etc\hosts файл от имени администратора.

Добавьте IP-адрес вашего сервера и доменное имя Jupyter например, следующее:

192.168.5.65 lab.local

Сохраните и выйдите из файла.

Теперь откройте веб-браузер и посетите свой Jupyter доменное имя, например http://lab.local/. Если настройка прошла успешно, вы увидите окно Jupyter страница входа.

Прокрутите страницу до самого низа и вставьте токен для вашего Jupyter установка. Затем введите новый пароль для Jupyter и нажмите Log in and set new password.

токен для входа в систему и смена пароля

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

приборная панель

Заключение

Поздравляем! Вы завершили установку Jupyter на Ubuntu 24.04. Теперь у вас есть Jupyter работает с Nginx в качестве обратного прокси и защищена парольной аутентификацией. Если вы используете Jupyter на публичном сервере или VPS (Virtual Private Server), вы должны реализовать HTTPS поверх обратного прокси Nginx. Этого можно добиться с помощью Certbot и Letsencrypt.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *