diff --git a/install.sh b/install.sh index f18c4f8..b7d083c 100644 --- a/install.sh +++ b/install.sh @@ -2,8 +2,8 @@ # GoTelegram MTProxy Bot — всё в одном файле. # Установка: curl -sL -H "Authorization: token TOKEN" https://raw.githubusercontent.com/anten-ka/gotelegram_pro/main/install.sh -o /usr/local/bin/gotelegram && chmod +x /usr/local/bin/gotelegram && gotelegram -set -e RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'; CYAN='\033[0;36m'; NC='\033[0m' +fail() { echo -e "${RED}[ОШИБКА] $1${NC}"; exit 1; } [ "$EUID" -ne 0 ] && { echo -e "${RED}Запустите с sudo.${NC}"; exit 1; } @@ -28,7 +28,18 @@ install_pkg() { for cmd in python3 curl; do command -v $cmd &>/dev/null || { echo -e "${YELLOW}[*] Установка $cmd...${NC}"; install_pkg $cmd; } done -python3 -m venv --help &>/dev/null 2>&1 || install_pkg python3-venv 2>/dev/null || true +command -v python3 &>/dev/null || fail "python3 не установлен." + +echo -e "${GREEN}[*] Проверка python3-venv...${NC}" +if ! python3 -m venv --help &>/dev/null 2>&1; then + echo -e "${YELLOW}[*] Установка python3-venv...${NC}" + install_pkg python3-venv || install_pkg python3-virtualenv || true + python3 -m venv --help &>/dev/null 2>&1 || { + # На некоторых системах пакет называется python3.X-venv + PY_VER=$(python3 -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')") + install_pkg "python${PY_VER}-venv" 2>/dev/null || true + } +fi if ! command -v docker &>/dev/null; then echo -e "${YELLOW}[*] Docker не найден. Устанавливаю...${NC}" @@ -626,11 +637,13 @@ BOTEOF echo -e "${GREEN}[*] Файлы бота записаны.${NC}" # ── Python venv ────────────────────────────────────────────────────────────── +echo -e "${GREEN}[*] Настройка Python venv...${NC}" if [ ! -d "$BOT_DIR/venv" ]; then - python3 -m venv "$BOT_DIR/venv" + python3 -m venv "$BOT_DIR/venv" || fail "Не удалось создать venv. Установите: apt install python3-venv" fi -"$BOT_DIR/venv/bin/pip" install --upgrade pip -q 2>/dev/null -"$BOT_DIR/venv/bin/pip" install -r "$BOT_DIR/requirements.txt" -q +echo -e "${GREEN}[*] Установка зависимостей (pip)...${NC}" +"$BOT_DIR/venv/bin/pip" install --upgrade pip -q 2>/dev/null || true +"$BOT_DIR/venv/bin/pip" install -r "$BOT_DIR/requirements.txt" -q || fail "pip install не удался." # ── Конфиг (.env) ──────────────────────────────────────────────────────────── if [ ! -f "$BOT_DIR/.env" ]; then