Як встановити JupyterLab на Ubuntu 24.04
JupyterLab — це веб-орієнтоване інтерактивне середовище розробки з відкритим вихідним кодом, яке розширює можливості класичного Jupyter Notebook, надаючи більш гнучкий і потужний інтерфейс для завдань науки про дані та наукових обчислень. Він підтримує різні мови програмування з сильним акцентом на Python і пропонує такі функції, як редагування коду, візуалізація даних та інтерактивне виведення в єдиному інтегрованому робочому просторі. JupyterLab дозволяє користувачам створювати та керувати блокнотами, текстовими редакторами, терміналами та іншими користувацькими компонентами у вкладковому макеті, підвищуючи продуктивність та спільну роботу. На Ubuntu його можна легко встановити за допомогою менеджерів пакетів, таких як apt, або через інсталятор пакетів Python pip, що робить його доступним інструментом для розробників і дослідників, які використовують цей популярний дистрибутив Linux.
У цьому посібнику ви дізнаєтеся, як встановити Jupyter на Ubuntu 24.04. Ви встановите та захистите Jupyter за допомогою автентифікації за допомогою пароля. Потім ви встановите Nginx і налаштуєте його як зворотний проксі.
Передумови
Перш ніж почати, переконайтеся, що у вас є такі вимоги:
- Ubuntu 24.04.
- Користувач без права root і правами адміністратора.
- Доменне ім’я вказує на IP-адресу сервера (публічний або приватний домен).
Встановлення залежностей
У цьому розділі ви встановите залежності для Jupyter, які включають , , , і . Ці пакети доступні за замовчуванням у репозиторії Ubuntu, і ви встановите їх через менеджер пакетів APT.Python
Pip
venv
Node.js
Щоб почати, виконайте наведену нижче команду, щоб оновити індекс пакетів 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 через віртуальне середовище Python. Ви будете використовувати Jupyter як користувач, який не має root, тому переконайтеся, що ви його створили.Pip
Увійдіть до свого користувача за допомогою команди нижче – Наступний приклад буде використовувати user:alice
su - alice
Виконайте наведену нижче команду, щоб створити новий каталог і переміститися в нього. Потім створіть нове віртуальне середовище на Python.~/Dev
venv
mkdir -p ~/Dev; cd ~/Dev
python3 -v venv venv
Тепер активуйте віртуальне середовище за допомогою наступної команди. Після активації ваша оболонка стане схожою на .venv
(venv) user@hostname
source venv/bin/activate
Далі виконайте наведену нижче команду для встановлення Jupyter через репозиторій PyPi:pip3
pip3 install jupyter
Нижче ви можете побачити установку через команду:jupyter
pip3
Після завершення процесу перевірте версію Jupyter за допомогою наступної команди:
jupyter --version
Ви побачите версію кожного компонента Jupyter, наприклад , , , , та .jupyterlab
jupyter_server
jupyter_client
jupyter_core
iPython
Налаштування Jupyter
У цьому розділі ви налаштуєте два основних компоненти Jupyter, а саме: і . Ви створите конфігурацію та налаштуєте автентифікацію за допомогою пароля для обох компонентів. Потім ви запустите Jupyter через командний рядок.jupyter_server
jupyterlab
Спочатку виконайте наведену нижче команду, щоб згенерувати конфігурацію та пароль. Введіть пароль, коли з’явиться запит, і повторіть дію.jupyter
jupyter_server
jupyter server --generate-config
jupyter server password
Нижче ви можете побачити, 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
.
Тепер виконайте jupyter
нижче команду, щоб почати jupyterlab
з командного рядка. jupyterlab
повинен працювати на порту 8888 і URL-шляху lab
.
jupyter lab --ip 0.0.0.0
Відвідайте http://server-ip:8888/lab
щоб отримати доступ jupyterlab
до інсталяції. Ви побачите наступну панель приладів Jupyter.
Тепер натисніть Ctrl+c і введіть yes
щоб завершити jupyterlab
процес.
Запуск JupyterLab як послуги
У цьому посібнику ви запустите Jupyter у фоновому режимі як службу. Отже, тепер вам потрібно створити новий службовий файл systemd для Jupyter.
Створіть новий файл служби systemd /etc/systemd/system/jupyterlab.service
за допомогою наведеної нижче команди редактора.
sudo nano /etc/systemd/system/jupyterlab.service
Введіть наступну конфігурацію та переконайтеся, що ви змінили user 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
Нарешті, виконайте наведену нижче команду, jupyterlab
щоб перевірити статус служби. Ви побачите, jupyterlab
що служба працює та увімкнена у вашій системі.
sudo systemctl status jupyterlab
Надання віддаленого доступу до Jupyter
Перед тим, як налаштувати Nginx як зворотний проксі, потрібно дозволити віддалений доступ на файлі jupyterlab
. Тепер ви зміните файл і включите віддалений доступ ~/.jupyter/jupyter_lab_config.py
.
Спочатку відкрийте jupyterlab
конфігурацію ~/.jupyter/jupyter_lab_config.py
за допомогою наступного редактора.
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.
Налаштування Nginx як зворотного проксі
У цьому розділі ви встановите та налаштуєте Nginx як зворотний проксі для встановлення Jupyter. Тому переконайтеся, що у вас є доменне ім’я, незалежно від того, публічне чи приватне доменне ім’я.
Встановіть веб-сервер Nginx за допомогою команди нижче – Input, щоб продовжити встановлення.Y
sudo apt install nginx
Після завершення інсталяції створіть нову конфігурацію блоку сервера Nginx /etc/nginx/sites-available/jupyterlab
за допомогою наступного nano редактора.
sudo nano /etc/nginx/sites-available/jupyterlab
Додайте до файлу наступну конфігурацію та обов’язково змініть доменне ім’я server_name
в межах опції.
server {
listen 80;
server_name lab.infoit.local;
access_log /var/log/nginx/infoit.local.access.log;
error_log /var/log/nginx/infoit.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
Доступ до Jupyter
Якщо ви використовуєте Linux або MacOS, /etc/hosts
відредагуйте файл. Для користувачів Windows відредагуйте файл C:\System32\drivers\etc\hosts
від імені адміністратора.
Додайте IP-адресу свого сервера та доменне ім’я Jupyter наступним чином:
192.168.5.65 lab.infoit.local
Збережіть файл і вийдіть з нього.
Тепер відкрийте веб-браузер і відвідайте своє доменне ім’я Jupyter, наприклад http://lab.infoit.local/. Якщо ваша конфігурація пройшла успішно, ви побачите сторінку входу в Jupyter.
Прокрутіть униз і вставте токен для встановлення Jupyter. Потім введіть новий пароль для Jupyter і натисніть Log in and set new password
.
У разі успіху ви побачите інформаційну панель Jupyter наступним чином: – І ваш пароль для Jupyter також змінено.
Висновок
Вітаємо! Ви завершили встановлення Jupyter на Ubuntu 24.04. Тепер у вас є Jupyter, який працює з Nginx як зворотний проксі-сервер і захищений аутентифікацією за допомогою пароля. Якщо ви використовуєте Jupyter на загальнодоступному сервері або VPS (віртуальному приватному сервері), ви повинні впровадити HTTPS поверх вашого зворотного проксі Nginx. Ви можете досягти цього за допомогою Certbot і Letsencrypt.