Files
keenetic_ssh-web/run.sh
Андрей Бобырев af1981cf0c 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 стал опциональным (как и был, но без
обязательного завершения цепочки).
2026-04-26 00:26:29 +03:00

25 lines
842 B
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/sh
# Запуск через Waitress (рекомендуется на роутере). Поддерживает оба режима:
# - venv: $DIR/venv/bin/python3
# - lib/: /opt/bin/python3 + PYTHONPATH=$DIR/lib (если venv недоступен)
DIR="$(cd "$(dirname "$0")" && pwd)"
cd "$DIR" || exit 1
set -a
[ -f .env ] && . ./.env
set +a
export PYTHONUNBUFFERED=1
if [ -x "$DIR/venv/bin/python3" ]; then
PYBIN="$DIR/venv/bin/python3"
elif [ -d "$DIR/lib" ] && [ -x /opt/bin/python3 ]; then
PYBIN="/opt/bin/python3"
export PYTHONPATH="$DIR/lib:${PYTHONPATH:-}"
elif command -v python3 >/dev/null 2>&1; then
PYBIN="$(command -v python3)"
else
echo "Нет python3. Установите: opkg install python3 python3-pip" >&2
exit 1
fi
exec "$PYBIN" -m waitress --listen="0.0.0.0:${PORT:-2001}" app:app