Действия с библиотеками в образах Jupyter Server
В каждом образе Jupyter Server и базовом образе для задач обучения есть предустановленный набор библиотек (см. Библиотеки в образах для Jupyter Server , Библиотеки в образах ).
- Узнать список установленных библиотек.
- Установить дополнительные библиотеки.
- Обновить версии существующих библиотек.
Получение списка библиотек, установленных в образе Jupyter Server
Чтобы увидеть список библиотек, установленных в образе Jupyter Server:
- Создайте или подключитесь к уже существующему Jupyter Notebook.
- В ячейке ноутбука выполните следующую команду:
pip list
Получение списка библиотек, установленных в базовом образе
Чтобы увидеть список библиотек, установленных в базовых образах, выполните последовательность действий, как описано в разделе Актуализация списка библиотек в базовых образах .
Установка дополнительных библиотек в Jupyter Server
Для установки дополнительных библиотек в ячейке ноутбука выполните команду:
!pip install
Где package_name — наименование библиотеки, которую предполагается установить, а version — версия данной библиотеки.
После установки библиотеки выполните следующую команду для проверки:
!pip list | grep
В Jupyter Server есть каталоги, в которых хранятся служебные и пользовательские файлы:
- /home/user — каталог, уникальный для каждого Jupyter Server.
- /home/jovyan — каталог, общий для всех Jupyter Server, созданных в рамках одного воркспейса.
Если устанавливать библиотеки с помощью команды pip install , то зависимости будут установлены в каталог /home/jovyan/.img-xxxxx .
При постановке Jupyter Server на паузу этот каталог остается, при остановке (удалении) каталог удаляется. При удалении Jupyter Server все библиотеки, которые установлены с помощью команды pip install , удаляются вместе с каталогом /home/user .
Для использования требуемого набора библиотек можно создать и использовать кастомный Docker-образ. Подробнее см. Установка необходимых библиотек .
Jupyter Server называется test-img-dir , в нем командой pip install glances установили библиотеку. Установленная библиотека с требуемыми зависимостями будет находиться в каталоге /home/jovyan/.imgenv-test-img-dir-0/lib/python3.7/site-packages .
Обратите внимание на то, что в образ Jupyter Server jupyter-cuda10.1-tf2.3.0-gpu можно дополнительно установить библиотеку DeepSpeed. Для этого:
- Создайте или подключитесь к уже существующему Jupyter Notebook.
- Запустите командную строку ( New → Terminal ).
- Выполните команду ниже. Библиотека установится в соответствующий каталог.
cd /tmp && git clone https://github.com/microsoft/DeepSpeed.git && cd DeepSpeed && \ pip install cpufeature && \ DS_BUILD_SPARSE_ATTN=1 DS_BUILD_CPU_ADAM=1 /tmp/DeepSpeed/install.sh
Установка дополнительных библиотек в базовый образ
Пользователи могут установить дополнительные библиотеки в базовые образы. Для сборки таких кастомных образов используются средства функции client_lib . Подробнее см. Установка необходимых библиотек .
Обновление версий библиотек в Jupyter Server
Чтобы обновить версию установленной библиотеки, выполните команду:
pip install --upgrade
Ранее установленная версия библиотеки обновится.
Пример переустановки версии torch приведен ниже.
pip install --no-cache-dir torch===1.5.0+cu101 torchvision==0.6.0+cu101 -f https://download.pytorch.org/whl/torch_stable.html
Не рекомендуется менять версию базовых пакетов — Horovod, TensorFlow, Apex, MXNet, TensorBoard, KServe, PyTorch.
Обновление версий библиотек в базовых образах
Для обновления версий библиотек, установленных в базовом образе, внесите модули и их версии в файл requirements.txt и соберите кастомный образ с использованием этого файла. Подробнее см. Установка необходимых библиотек .
Актуализация списка библиотек в базовых образах
Список базовых образов и версий предустановленных библиотек в данных образах может периодически обновляться (См. Образы для Jupyter Server ). Пользователи могут получить перечень актуальных версий библиотек. Для этого необходимо выполнить последовательность действий, описанную ниже.
- Создайте или подключитесь к уже существующему Jupyter Notebook.
- Выберите подключение к Jupyter Notebook или JupyterLab. Рабочий каталог, из которого будут запускаться файлы, — /home/jovyan/ .
- Создайте в рабочем каталоге файл test.py следующего содержания:
import subprocess if __name__ == '__main__': cmd = 'pip freeze' subprocess.run(cmd, shell=True)
Важно Импорт функции client_lib в образе jupyter-server:0.0.88 осуществляется командой:
from mlspace.jobs import client_lib
import client_lib
job = client_lib.Job(base_image='your base image', script = '/home/jovyan/test.py', n_workers=1, instance_type='your isntance_type', processes_per_worker=1 )
Для получения значения instance_type воспользуйтесь инструкцией .
job.submit()
import time while True: job.logs() time.sleep(5)
Как установить NumPy
Как правило, библиотека NumPy уже предустановлена в пакете Anaconda . В тех редких случаях, когда это не так, можно воспользоваться установщиком этой сборки:
conda install -c anaconda numpy
В Jupyter Notebook это будет выглядеть так:
import sys !conda install --yes --prefix numpy
Импортирование модуля NumPy и проверка версии
Инструкция для импорта NumPy выглядит следующим образом:
import numpy as np
Данный код заменяет в пространстве имен numpy на np , что дает возможность использовать в префиксе функций, методов и атрибутов np вместо numpy . Это стандартное сокращение, которое используется во всех пособиях по NumPy.
Для проверки номера установленной версии используется следующий код:
print (np.__version__)
Output
Не подключается модуль Jupyter Notebook: ModuleNotFoundError: No module named ‘cv2’ [закрыт]
Вопрос вызван проблемой, которая больше не воспроизводится, или опечаткой. Хотя похожие вопросы могут быть уместны на этом сайте, решение для этого вопроса вряд ли поможет будущим посетителям. Обычно можно избежать подобных вопросов написанием и исследованием минимальной программы для воспроизведения проблемы до публикации вопроса.
Закрыт 6 месяцев назад .
При импорте модуля cv2 в Jupyter Notebook ругается что такого модуля нету. Пробовал устанавливать его через:
pip install opencv-python conda install opencv-python conda install opencv
Ничего из этого не решило проблему, даже саму анаконду уже переустановил. Как можно решить данную проблему?
Python venv и Jupyter ipykernel для самых зелёных
Чтобы было проще понимать, скажу, что виртуальное окружение — это “коробка”, в которую мы складываем все необходимые для проекта инструменты, например, python библиотеки. Если мы хотим, чтобы кто-то смог повторить или продолжить нашу работу, мы просто отдаем нашу “коробку” со всеми необходимыми настройками. Хочу заметить, некоторые инструменты мы можем использовать один раз, что делает нецелесообразным его хранение в локальном интерпретаторе python и мы его храним отдельно в виртуальном окружении, не засоряя локальный интерпретатор.
10 показов
8.9K открытий
Давайте начнем настройку. Чтобы создать виртуальное окружение необходимо в терминале использовать следующую команду: python –m venv my_env
“my_env” это название виртуального окружения, можно назвать его, как угодно.
После выполнения команды можно заметить, что в директории создалась папка “my_env”, это и есть наше виртуальное окружение
Далее для работы с виртуальным окружением исполняем команду: my_env\Scripts\activate
Слева от пути появилось название нашего окружения, что говорит нам о том, что виртуальное окружение активировано. Запустив команду pip list, видим, что в нашем окружении сейчас стоит две библиотеки pip (пакетный менеджер python) и setuptools (библиотека для создания пакетов).
Добавить дополнительные модули можно командой pip install *название пакета*. Установим в наше окружение библиотеки numpy, pandas, scipy.(Вы можете добавить нужные библиотеки через пробел, либо отдельно для каждой вызвать команду pip install)
Проверим наличие установленных библиотек уже известной командой pip list
Таким образом, при наличии разных версий библиотек в локальном интерпретаторе и виртуальном окружении, будет импортирована версия из виртуального окружения (при условии активации на момент импорта).
Создадим файл зависимостей от внешних библиотек, чтобы члены команды могли пользоваться инструментами из проекта. Это можно сделать вручную, а можно автоматически командой из pip – pip freeze>> requirements.txt.
Если посмотреть содержимое файла requirements, то увидим, связку – название библиотеки и версия, необходимая для работы скрипта. Наш коллега создает и активирует виртуальное окружение (как это делать написано в начале статьи), и командой pip install –r “requirements.txt” устанавливает все библиотеки из файла, (в кавычках указываем путь до файла requirements).
Для работы с jupyter notebook устанавливаем в наше виртуальное окружение pip модуль notebook командой pip install notebook, вместе с ним устанавливается модуль настройки kernel (ядра) — ipykernel. Для создания kernel используем команду python -m ipykernel install —name=env_kernel (env_kernel это название нашего нового ядра).
Запускаем jupyter notebook командой jupyter notebook, теперь создавая новый ноутбук в окне new (новый) мы видим все доступные kernels.
Если новое ядро не создавать (использовать ядро по умолчанию), библиотеки в jupyter notebook будут ставиться из корневого интерпретатора.
Давайте посмотрим как это работает: на локальном интерпретаторе стоит библиотека SVA_PM, а на виртуальном окружении ее нет (при импорте библиотеки SVA_PM на виртуальном окружении должна быть ошибка, т.к. ее нет). Проверим работу каждого ядра с данной библиотекой.
Пример с ядром, которое установлено по умолчанию.
Пример с ядром, которое мы создали для виртуального окружения.
В случае если нужно удалить kernel можно воспользоваться командой jupyter kernelspec remove *название kernel.
Для того, чтобы деактивировать наше виртуальное окружение используем команду deactivate.
Скидывая файл скрипта и файл зависимостей, у коллеги не должно возникнуть проблем с запуском.
Данный инструмент языка python, позволяет специалистам IT-профиля, вести свои проекты, не засоряя память громоздкими модулями, и проблемами разных версий библиотек.
