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 с поддержкой.
Также при установке используется временная папка /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 необходим для обновления, при отсутствующем прямом подключение к интернету)
- echo -n
При установке рядом со скриптом окружения можно положить 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.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. Если инсталлятор был собран с ключом установки под другую ОС, его также можно использовать с ключом обновления для текущей или любой другой. Если набор модулей, который включен в оффлайн инсталлятор, недостаточен, он попытается загрузить недостающие модули из интернета напрямую или предложит ввести настройки прокси. |
| -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.