Перейти к содержимому

Как посмотреть версию библиотеки python

  • автор:

Действия с библиотеками в образах Jupyter Server

В каждом образе Jupyter Server и базовом образе для задач обучения есть предустановленный набор библиотек (см. Список образов для Jupyter Server , Библиотеки в базовых образах для деплоев ).

В инструкции описано, как узнать, какие библиотеки установлены, как установить и обновить библиотеки.

Получение списка библиотек, установленных в образе Jupyter Server

Чтобы увидеть список библиотек, установленных в образе Jupyter Server:

  1. Создайте или подключитесь к уже существующему Jupyter Notebook.
  2. В ячейке 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-образ. Подробнее см. Способ 1. Обучение из Jupyter Server с GPU .

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. Для этого:

  1. Создайте или подключитесь к уже существующему Jupyter Notebook.
  2. Запустите командную строку ( New → Terminal ).
  3. Выполните команду ниже. Библиотека установится в соответствующий каталог.
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 . Подробнее см. Способ 1. Обучение из Jupyter Server с GPU .

Обновление версий библиотек в 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 и соберите кастомный образ с использованием этого файла. Подробнее см. Способ 1. Обучение из Jupyter Server с GPU .

Актуализация списка библиотек в базовых образах

Список базовых образов и версий предустановленных библиотек в данных образах может периодически обновляться (См. Образы для Jupyter Server ). Пользователи могут получить перечень актуальных версий библиотек. Для этого необходимо выполнить последовательность действий, описанную ниже.

  1. Создайте или подключитесь к уже существующему Jupyter Notebook.
  2. Выберите подключение к Jupyter Notebook или JupyterLab. Рабочий каталог, из которого будут запускаться файлы, — /home/jovyan/ .
  3. Создайте в рабочем каталоге файл test.py следующего содержания:

import subprocess if __name__ == '__main__': cmd = 'pip freeze' subprocess.run(cmd, shell=True) 
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) 
  • Создать Jupyter Server
  • Образы для Jupyter Server
  • Образы для деплоев
  • Образы для задач обучения

Как установить библиотеку в Python

Python — популярный язык программирования, который поддерживает много дополнительных библиотек, модулей и фреймворков. Библиотеки помогают упростить разработку программ — используя их, вам не придется каждый раз набирать один и тот же код.

Чтобы установить необходимый пакет на Python, сначала его нужно найти. Для этого используют PyPI (Python Package Index) — хранилище программного обеспечения для Python. Но установка, подключение и работа с пакетами вручную — долгий процесс. Чтобы избежать трудностей, можно использовать специальную утилиту — установщик пакетов pip.

Pip — это утилита в командной строке, с помощью которой можно устанавливать и удалять программные пакеты PyPI. Другими словами, это система управления программными пакетами, написанными на Python.

В этой статье мы расскажем, как устанавливать библиотеки в Python при помощи pip.

Как установить pip

Для Python 3.4 и выше pip установлен по умолчанию, поэтому перед установкой стоит проверить версию Python. Это можно сделать через терминал.

Получение сведений о пакете Python

В этой статье описывается, как получить сведения об установленных пакетах Python, включая версии и расположения установки, в Службах машинного обучения SQL Server и кластерах больших данных. Примеры сценариев Python показывают, как получить сведения о пакете, например путь установки и версия.

В этой статье описывается, как получить сведения об установленных пакетах Python, включая версии и расположения установки, в Службах машинного обучения SQL Server. Примеры сценариев Python показывают, как получить сведения о пакете, например путь установки и версия.

В этой статье описывается, как получить сведения об установленных пакетах Python, включая версии и расположения установки, в Службах машинного обучения управляемого экземпляра SQL Azure. Примеры сценариев Python показывают, как получить сведения о пакете, например путь установки и версия.

Расположение библиотеки Python по умолчанию

При установке машинного обучения с помощью SQL Server на уровне экземпляра создается отдельная библиотека пакетов для каждого устанавливаемого языка. Библиотека экземпляров является защищенной папкой, зарегистрированной в SQL Server.

Все скрипты или код, выполняемые в базе данных на SQL Server, должны загружать функции из библиотеки экземпляров. SQL Server не может получить доступ к пакетам, установленным в других библиотеках. Это относится и к удаленным клиентам: любой код Python, выполняющийся в контексте вычислений сервера, может использовать только пакеты, установленные в библиотеке экземпляров. Для защиты серверных ресурсов библиотека экземпляров по умолчанию может быть изменена только администратором компьютера.

Путь по умолчанию к двоичным файлам для Python:

C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES

Предполагается, что экземпляр SQL по умолчанию — MSSQLSERVER. Если SQL Server устанавливается как определяемый пользователем именованный экземпляр, вместо него используется указанное имя.

Путь по умолчанию к двоичным файлам для Python:

C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\PYTHON_SERVICES

Предполагается, что экземпляр SQL по умолчанию — MSSQLSERVER. Если SQL Server устанавливается как определяемый пользователем именованный экземпляр, вместо него используется указанное имя.

Включите внешние скрипты, выполнив следующие команды SQL:

sp_configure 'external scripts enabled', 1; RECONFIGURE WITH override; 

В Управляемом экземпляре SQL Azure выполнение команд sp_configure и RECONFIGURE приводит к перезагрузке сервера SQL для активации параметров RG. В результате сервер будет недоступен в течение нескольких секунд.

Выполните приведенную ниже инструкцию SQL, чтобы проверить библиотеку по умолчанию для текущего экземпляра. Этот пример возвращает список папок, включенных в переменную sys.path Python. Список содержит текущий каталог и путь к стандартной библиотеке.

EXECUTE sp_execute_external_script @language =N'Python', @script=N'import sys; print("\n".join(sys.path))' 

Дополнительные сведения о переменной sys.path и о том, как она используется для задания пути поиска для модулей, см. в разделе Путь поиска модуля.

Не пытайтесь установить пакеты Python непосредственно в библиотеке пакетов SQL с помощью pip или аналогичных методов. Вместо этого используйте sqlmlutils для установки пакетов в экземпляре SQL. Дополнительные сведения см. в статье Установка пакетов Python с помощью sqlmlutils.

Пакеты Microsoft Python по умолчанию

Приведенные ниже пакеты Python устанавливаются вместе со Службами машинного обучения SQL Server, если во время установки выбран компонент Python.

Пакеты Версия Описание
revoscalepy 9.4.7 Используется для удаленных контекстов вычислений, потоковой передачи, параллельного выполнения функций rx для импорта и преобразования, моделирования, визуализации и анализа данных.
microsoftml 9.4.7 Добавляет алгоритмы машинного обучения в Python.

Сведения о том, какая версия Python включена, приведены в разделе Версии Python и R.

Обновление компонентов

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

Пакеты Python с открытым кодом по умолчанию

При выборе языка Python во время установки устанавливается дистрибутив Anaconda 4.2 (через Python 3.5). В дополнение к библиотекам кода Python стандартная установка включает примеры данных, модульные тесты и примеры сценариев.

Никогда не следует вручную перезаписывать версию Python, установленную программой установки SQL Server, более новыми версиями в Интернете. Пакеты Microsoft Python основаны на конкретных версиях Anaconda. Изменение установки может привести к дестабилизации.

Просмотр всех установленных пакетов Python

Приведенный ниже пример сценария отображает список всех пакетов Python, установленных в экземпляре SQL Server.

EXECUTE sp_execute_external_script @language = N'Python', @script = N' import pkg_resources import pandas OutputDataSet = pandas.DataFrame(sorted([(i.key, i.version) for i in pkg_resources.working_set]))' WITH result sets((Package NVARCHAR(128), Version NVARCHAR(128))); 

Поиск одного пакета Python

Если вы установили пакет Python и хотите убедиться, что он доступен для конкретного экземпляра SQL Server, можно выполнить хранимую процедуру, которая ищет этот пакет и отображает соответствующие сообщения.

Например, следующий код ищет пакет scikit-learn . Если пакет найден, код выводит версию пакета.

EXECUTE sp_execute_external_script @language = N'Python', @script = N' import pkg_resources pkg_name = "scikit-learn" try: version = pkg_resources.get_distribution(pkg_name).version print("Package " + pkg_name + " is version " + version) except: print("Package " + pkg_name + " not found") ' 
STDOUT message(s) from external script: Package scikit-learn is version 0.20.2 

Просмотр версии Python

Следующий пример кода возвращает версию Python, установленную в экземпляре SQL Server.

EXECUTE sp_execute_external_script @language = N'Python', @script = N' import sys print(sys.version) ' 

Дальнейшие действия

Использование Anaconda и создание собственных Python окружений

Для выполнения расчетов с помощью Python, как правило, требуются дополнительные библиотеки. Оптимальным способом загрузки дополнительных библиотек на вычислительном кластере НИУ ВШЭ является использование программного пакета Anaconda. Это удобный менеджер пакетов Python, предназначенный для создания изолированных окружений Python и автоматического разрешения зависимостей. На суперкомпьютере уже имеется базовое окружение Anaconda, которое можно подключить следующей командой:

module load Python

После подключения этого модуля становятся доступными для использования большинство наиболее популярных библиотек Python, включенных в состав базового набора Anaconda.
Полный список библиотек в окружении можно посмотреть командой conda list
Установка других пакетов или обновление версий в базовом окружении невозможна.

Также доступны дополнительные окружения с пакетами PyTorch, TensorFlow и аналогом Google Colab: module available Python

Если вам необходимо установить пакеты или версии пакетов, которых нет в базовом окружении, то потребуется создать своё собственное изолированное окружение и установить в него необходимые модули:

conda create -n python=

Например, для создания окружения «my_py_env1» на базе последней версии Python 3 воспользуйтесь следующей командой:

conda create -n my_py_env1 python=3

На запрос об установке новых пакетов ответьте «y».

Далее необходимо задействовать созданное окружение:

source activate my_py_env1

После активации в приглашении терминала появится префикс с именем окружения:

(my_py_env1) [anaconda@sms ~]$ python -V

Для вывода списка доступных окружений используйте команду conda env list

Для установки необходимых пакетов используйте команду conda install, например, для установки последней версии NumPy:

conda install numpy

Для установки пакетов из файла requirements.txt можно использовать команду conda install —file requirements.txt

Обратите внимание: на вычислительных узлах из соображений безопасности нет доступа в Интернет. Все пакеты необходимо предварительно установить, подключившись к логин-серверу суперкомпьютера.

С помощью команды conda search выполняется поиск пакетов в репозиториях Anaconda. Также поиск можно осуществлять на сайте https://anaconda.org/anaconda/

Отключить окружение (например, для выбора другого): conda deactivate

Для подключения окружения к ноутбукам в JupyterHub установите соответствующее ядро (см. https://github.com/jupyter/jupyter/wiki/Jupyter-kernels).
Например, для Python необходимо установить ядро ipykernel:

conda install ipykernel

После установки ядра это окружение появится в списке на главной странице JupyterLab:

Переключить используемое окружение и ядро можно в уже запущенном ноутбуке, кликнув по названию ядра в правом верхнем углу или в меню Kernel -> Change Kernel.

Настройка окружения Python для работы с GPU на вычислительных узлах

Для работы с GPU на вычислительных узлах необходимо предварительно настроить изолированное окружение Python на логин-сервере (sms) вычислительного кластера НИУ ВШЭ:

    1. Выгрузить все загруженные модули и активировать модуль Anaconda:
      module purge; module load Python
    2. Создать и активировать новое изолированное окружение Anaconda:
      conda create -n my_py_env
      source activate my_py_env
      Если вы часто запускаете задачи с использованием srun, то рекомендуется в файл ~/.bashrc добавить строчку source activate my_py_env. В этом случае будет автоматически активироваться созданное окружение.
    3. Установить необходимые пакеты Python, например для PyTorch:
      conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
      Большие фреймворки, такие как PyTorch или TensorFlow, рекомендуется устанавливать в первую очередь и в новое пустое окружение. Это позволит установить версии пакетов с поддержкой GPU без возможного влияния ранее установленных модулей.
    4. Пакеты, которым для установки необходимо наличие GPU, необходимо предварительно скачать, затем выделить вычислительный узел с GPU и установить пакет с локального каталога. Например, для установки пакета pytorch_scatter из git-репозитория следует выполнить следующие команды:
      git clone https://github.com/rusty1s/pytorch_scatter
      srun —pty —cpus-per-task 1 —gpus 1 bash
      cd pytorch_scatter
      pip install -e .
      Здесь точка в конце команды означает указание на текущий каталог — будет выполнена сборка и установка модуля из текущей директории.
    5. Провести проверочный запуск на 1 GPU и подготовить скрипт-файл для sbatch по примеру из инструкции по запуску задач на суперкомпьютере. Пример sbatch-скрипта:

    #!/bin/bash #SBATCH --job-name=test #SBATCH --gpus=1 module purge module load Python source deactivate source activate my_py_env nvidia-smi which python python -V python -c 'import torch; print(torch.cuda.is_available())'

    Важно: о выводе результатов в консоль

    По умолчанию python использует буфферизованный вывод (т.е. вывод НЕ мгновенно передается в результирующий файл).
    Например, в случае такого кода:

    from time import sleep print('Start') for i in range(60): sleep(1) print('Done')

    Начальный вывод «Start» появится в файле вывода (slurm-.out) только спустя 60 итераций (одновременно с «Done»).
    Для задач, результаты которых оцениваются в процессе выполнения (выводятся промежуточные значения и тп), это не подходит (например, в случае, когда задача завершится по таймауту, вывода в файле не будет).
    Для мгновенного отображения результатов предлагается 2 варианта:

    1. Добавлять аргумент flush=True в функцию print: print(‘Start’, flush=True) (это работает только при версии python >= v3.3).
    2. Добавить аргумент -u при запуске задачи к самому интерпретатору: например, python3 -u myprog.py (изменений в коде в данном случае не понадобится).

    Нашли опечатку ?
    Выделите её, нажмите Ctrl+Enter и отправьте нам уведомление. Спасибо за участие!
    Сервис предназначен только для отправки сообщений об орфографических и пунктуационных ошибках.

    • О ВЫШКЕ
    • Цифры и факты
    • Руководство и структура
    • Преподаватели и сотрудники
    • Корпуса и общежития
    • Закупки
    • Обращения граждан в НИУ ВШЭ
    • Фонд целевого капитала
    • Противодействие коррупции
    • Сведения о доходах, расходах, об имуществе и обязательствах имущественного характера
    • Сведения об образовательной организации
    • Людям с ограниченными возможностями здоровья
    • Единая платежная страница
    • Работа в Вышке
    • ОБРАЗОВАНИЕ
    • Лицей
    • Довузовская подготовка
    • Олимпиады
    • Прием в бакалавриат
    • Вышка+
    • Прием в магистратуру
    • Аспирантура
    • Дополнительное образование
    • Центр развития карьеры
    • Бизнес-инкубатор ВШЭ
    • НАУКА
    • Научные подразделения
    • Исследовательские проекты
    • Мониторинги
    • Диссертационные советы
    • Защиты диссертаций
    • Академическое развитие
    • Конкурсы и гранты
    • Научно-образовательный портал IQ.hse.ru
    • XXIV Ясинская (Апрельская) международная научная конференция по проблемам развития экономики и общества
    • РЕСУРСЫ
    • Библиотека
    • Издательский дом ВШЭ
    • Книжный магазин «БукВышка»
    • Типография
    • Медиацентр
    • Журналы ВШЭ
    • Публикации
    • Единый архив экономических и социологических данных
    • Полезные ссылки
    • Министерство науки и высшего образования РФ
    • Министерство просвещения РФ
    • Федеральный портал «Российское образование»
    • Массовые открытые онлайн-курсы

    Шрифты HSE Sans и HSE Slab разработаны в Школе дизайна НИУ ВШЭ

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

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

https://czena.narkolog-na-dom-voronezh-11.ru/