Действия

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

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

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

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

   • Short Phrase Recognizer
   • Simple Biometry Server
   • Simple Entity Extractor
   • Simple Message Classifier
   • Text To Speech Server
Термины и определения

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


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

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

Так же при установки используется временная папка, куда распаковывается содержимое архива до 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 необходим для обновления, при отсутсвующем прямом подключение к интернету)


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

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

Параметр,

назначение

Параметр,

назначение

Параметр,

назначение

Примечание
-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.1
-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.1
-ups/--ups - отдельное окружение для ups
-res/--res - отдельное окружение для res
-b/--build - скачать все пакеты, и модули, и упаковать в скрипт -i/--install - для установки с системными пакетами -f/--full - полный набор pip3 модулей под все типы Данные наборы ключей используются совместно, в разных комбинациях. Сборка с ключем CPU актуально при отсуствие видеокарты в системе, собранный инсталятор весит ~1Gb. Ключ полного набора модулей делает инсталятор универсальным, но такой инсталятор весит ~9Gb. Если инстялятор был собран с ключем устновки под другую ОС, его так же можно использовать с ключем обновления для текущей или любой другой. Если набор модулей, который включен в оффлайн инсталятор не достаточен, он попытается загрузить не достающие модули из интернета напримую или предложит ввести настройки Proxy.
-u/--update - для обновления, только окружение -cpu/--cpu - полный набор pip3 модулей под CPU
-cu11/--cu11- полный набор pip3 модулей под GPU CU11.8
-cu12/--cu12 - полный набор pip3 модулей под GPU CU12.1
-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.


Часто задаваемые вопросы
Вопрос Ответ