install: фолбэк pip --target=lib, если в python3 нет venv

На многих сборках Entware (включая aarch64-k3.10) пакет python3-venv
недоступен и `python3 -m venv` падает с `No module named venv`.
Делаем установку без venv:
- если venv создаётся — используем его (как раньше)
- иначе ставим зависимости в $INST/lib через `pip install --target=lib`
- run.sh и init-скрипт автоопределяют режим (PYTHONPATH=lib для второго)

Также: opkg install python3-venv стал опциональным (как и был, но без
обязательного завершения цепочки).
This commit is contained in:
Андрей Бобырев
2026-04-26 00:26:29 +03:00
parent caa1dd1602
commit af1981cf0c
3 changed files with 61 additions and 15 deletions

View File

@@ -73,9 +73,9 @@ chmod +x install.sh uninstall.sh run.sh bootstrap.sh
Скрипт:
- копирует файлы в **`/opt/share/keenetic_ssh-web`**
- создаёт **`venv`**, ставит **Flask** и **Waitress**
- ставит **Flask** и **Waitress**: предпочтительно в `venv/`; если модуль `venv` в Python отсутствует (типично для `aarch64-k3.10`), то — в локальный `lib/` через `pip install --target`
- создаёт **`data/store.json`** и **`.env`** из примеров
- устанавливает **`/opt/etc/init.d/S99keenetic-ssh-web`**
- устанавливает **`/opt/etc/init.d/S99keenetic-ssh-web`** (автоопределяет venv/lib режим)
### Первый запуск