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