Действия

PVE. Установка сервисного пакета окружения

Материал из Флора AI

Общее описание

Пакет Python Virtual Environment (PVE) предназначен для подготовки виртуального Python3 окружения для работы сервисов:

   • Simple Entity Extractor
   • Simple Message Classifier
   • Short Phrase Recognizer
   • Simple Biometry Server
   • Text To Speech Server
   • Question Answering System
   • Script Engine Service
   • Report Engine Service


Термины и определения

Python Virtual Environment (PVE) – пакет для установки Python3 окружения для сервисов. Самостоятельно PVE не используется.


Расчет нагрузки

Для установки пакета требуется свободное место в каталоге /opt не менее 3Gb без поддержки видеокарты и/или 8Gb с поддержкой.

Также при установке используется временная папка /tmp/archive, куда распаковывается содержимое архива до 7Gb.


Установка/обновление пакета окружения

Дистрибутив распространяется в виде универсального установочного пакета. Для установки пакета запустить инсталлятор с требуемыми ключами. При запуске без ключей инсталлятор выдаст короткую справку. Пакет может быть установлен в онлайн-режиме при наличии прямого доступа в интернет или через прокси. Для установки в оффлайн-режиме сперва нужно запустить экземпляр скрипта на копии целевой системы (версии и ядра) с доступом в интернет.

  • Загрузить последнюю версию окружения curl -s "https://repo.connect2ai.net/api/pve/new" --user '[user]:[pass]' 2>&1 | bash или в интерактивном режиме bash -c "$(curl -s https://repo.connect2ai.net/api/pve --user '[user]:[pass]' 2>&1)".
  • Обновить PVE /opt/pve/inupdate в интерактивном режиме. Или запустить с ключом:
    • /opt/pve/inupdate -b – обновить до последней beta версии;
    • /opt/pve/inupdate -r – обновить до последней release версии;
    • /opt/pve/inupdate -n – обновить до последней версии (неважно beta или release).
  • Проверить актуальную версию окружения curl -s "https://repo.connect2ai.net/api/pve/version.
  • Посмотреть лог изменений curl -s "https://repo.connect2ai.net/api/pve/changelog" --user '[user]:[pass]'.
  • Полное описание всех команд API репозитория можно найти по ссылке https://repo.connect2ai.net/api. [user]:[pass] – это тот же логин и пароль, что и от Nextcloud.
  • В папке с окружением можно добавить 2 файла конфигурации (данные файлы также будут использоваться продуктами при отсутствии у них своих):
    • echo -n "[user]:[pass]" > /opt/pve/.userapi (это файл авторизации в API, нужен для обновления)
    • echo -n "http://example.com:3128 [user] [password]" > /opt/pve/.proxy (это файл конфигурации proxy, необходим для обновления, при отсутствующем прямом подключении к интернету)

При установке рядом со скриптом окружения можно положить freeze.txt с альтернативным набором модулей. В потоке вывода в результате вы увидите сообщение «Существует внешний файл — список модулей pip3».


Варианты использование инсталлятора

Описание ключей установки приведено в таблице

Параметр,

назначение

Параметр,

назначение

Параметр,

назначение

Примечание
-i/--install - установить окружение -on/--online - онлайн -cpu/--cpu - полный набор pip3 модулей под CPU Данные наборы ключей используются совместно, в разных комбинациях. Чтобы установить в оффлайн-режиме, необходимо собрать скрипт с ключом -b/--build. Установка с ключом CPU актуальна при отсутствии видеокарты в системе, окружение занимает всего ~3Gb.
-off/--offline - оффлайн -cu11/--cu11- полный набор pip3 модулей под GPU CU11.8
-cu12/--cu12 - полный набор pip3 модулей под GPU CU12.8
-ups/--ups - отдельное окружение для ups
-res/--res - отдельное окружение для res
-u/--update - обновить окружение -on/--online - онлайн -cpu/--cpu - полный набор pip3 модулей под CPU Данные наборы ключей используются совместно, в разных комбинациях. Чтобы обновить в оффлайн режиме, необходимо собрать скрипт с ключом -b/--build. Обновление с ключом CPU актуально при отсутствии видеокарты в системе, окружение занимает всего ~3Gb. Обновление отличается от установки тем, что пропускается этап установки системных пакетов. Ставится только окружение с модулями. Оффлайн инсталлятор с ключом обновления становится универсальным под любую ОС, так как не зависим от системных пакетов.
-off/--offline - оффлайн -cu11/--cu11- полный набор pip3 модулей под GPU CU11.8
-cu12/--cu12 - полный набор pip3 модулей под GPU CU12.8
-ups/--ups - отдельное окружение для ups
-res/--res - отдельное окружение для res
-b/--build - скачать все пакеты, и модули, и упаковать в скрипт -i/--install - для установки с системными пакетами -f/--full - полный набор pip3 модулей под все типы Данные наборы ключей используются совместно, в разных комбинациях. Сборка с ключом CPU актуальна при отсутствии видеокарты в системе, собранный инсталлятор весит ~1Gb. Ключ полного набора модулей делает инсталлятор универсальным, но такой инсталлятор весит ~9Gb. Если инсталлятор был собран с ключом установки под другую ОС, его также можно использовать с ключом обновления для текущей или любой другой. Если набор модулей, который включен в оффлайн инсталлятор, недостаточен, он попытается загрузить недостающие модули из интернета напрямую или предложит ввести настройки прокси.
-u/--update - для обновления, только окружение -cpu/--cpu - полный набор pip3 модулей под CPU
-cu11/--cu11- полный набор pip3 модулей под GPU CU11.8
-cu12/--cu12 - полный набор pip3 модулей под GPU CU12.8
-ups/--ups - отдельное окружение для ups
-res/--res - отдельное окружение для res
-u/--uninstall - удалить окружение Одинарный ключ, удаляет окружение из папки /opt
-e/--extract - скопировать внутренний архив рядом со скриптом -d/--dir путь/имя_каталога Второй аргумент не обязательный. Без указания папки, распакуется архив. С указанием папки, распакуется содержимое архива в указанную папку.
-p/--pack имя_архива - запаковать архив в скрипт -d/--dir путь/имя_каталога Второй аргумент не обязательный. Без указания папки к установщику прикрепляем архив. С указанием папки к установщику прикрепляем содержимое каталога.
-n/--null - удалить внутренний архив из скрипта Удаляем внутренний архив из инсталлятора. Редактирование инсталлятора с архивом может привести к повреждению архива.

Примеры использования ключей:

-- Установить окружение с полным набором модулей под CPU.

  Пример использования: ./pve-<версия>-<релиз>.sh -i -cpu -on

  -- Установить окружение из заранее собранного инсталлятора с полным набором модулей под CPU.

  Пример использования: ./pve-<версия>-<релиз>.sh -i -cpu -off

  -- Собрать все пакеты для установки оффлайн окружения с полным набором модулей под CPU.

  Пример использования: ./pve-<версия>-<релиз>.sh -b -i -cpu

  -- Собрать все пакеты для обновления оффлайн окружения с полным набором модулей под CPU.

  Пример использования: ./pve-<версия>-<релиз>.sh -b -u -cpu

  -- Скопировать внутренний архив рядом со скриптом, не распаковывая в папку.

  Пример использования: ./pve-<версия>-<релиз>.sh -e

  -- Запаковать архив в скрипт.

  Пример использования: ./pve-<версия>-<релиз>.sh -p <service>-offline.tgz

  -- Сжать каталог и запаковать архив в скрипт.

  Пример использования: ./pve-<версия>-<релиз>.sh -p -d <имя каталога>

  -- Распаковать внутренний архив рядом со скриптом в каталог.

  Пример использования: ./pve-<версия>-<релиз>.sh -e -d archive

  -- Удалить внутренний архив из скрипта.

  Пример использования: ./pve-<версия>-<релиз>.sh --null

  -- Удалить окружение.

  Пример использования: ./pve-<версия>-<релиз>.sh --uninstall



Удаление окружения

Для удаления выполните команду: /opt/pve/uninstall.