mirror of
https://github.com/anten-ka/gotelegram_pro.git
synced 2026-05-19 22:46:04 +00:00
fix: venv без pip — авто-пересоздание, проверка ensurepip, валидация после pip install
Made-with: Cursor
This commit is contained in:
25
install.sh
25
install.sh
@@ -930,12 +930,28 @@ install_bot_deps() {
|
|||||||
local bot_steps=3 bot_cur=0
|
local bot_steps=3 bot_cur=0
|
||||||
|
|
||||||
bot_cur=$((bot_cur+1)); progress_bar $bot_cur $bot_steps "Создание venv..."
|
bot_cur=$((bot_cur+1)); progress_bar $bot_cur $bot_steps "Создание venv..."
|
||||||
|
|
||||||
|
# Если venv сломан (нет pip), удаляем и пересоздаём
|
||||||
|
if [ -d "$BOT_DIR/venv" ] && [ ! -f "$BOT_DIR/venv/bin/pip" ]; then
|
||||||
|
echo -e " ${YELLOW}!${NC} venv повреждён (нет pip), пересоздаю..."
|
||||||
|
rm -rf "$BOT_DIR/venv"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ ! -d "$BOT_DIR/venv" ]; then
|
if [ ! -d "$BOT_DIR/venv" ]; then
|
||||||
|
# Убеждаемся что ensurepip доступен
|
||||||
|
if ! python3 -m ensurepip --version &>/dev/null; then
|
||||||
|
local PY_VER
|
||||||
|
PY_VER=$(python3 -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')" 2>/dev/null || echo "3")
|
||||||
|
echo -e " ${YELLOW}!${NC} Установка python${PY_VER}-venv (с ensurepip)..."
|
||||||
|
install_pkg "python${PY_VER}-venv" 2>/dev/null
|
||||||
|
install_pkg python3-venv python3-pip 2>/dev/null
|
||||||
|
fi
|
||||||
spinner_start "Создание Python venv..."
|
spinner_start "Создание Python venv..."
|
||||||
python3 -m venv "$BOT_DIR/venv" 2>/dev/null
|
python3 -m venv "$BOT_DIR/venv" 2>/dev/null
|
||||||
spinner_stop
|
spinner_stop
|
||||||
if [ ! -d "$BOT_DIR/venv" ]; then
|
if [ ! -f "$BOT_DIR/venv/bin/pip" ]; then
|
||||||
echo -e " ${RED}✗${NC} Ошибка создания venv."
|
echo -e " ${RED}✗${NC} venv создан, но pip отсутствует."
|
||||||
|
echo -e " ${YELLOW}Выполните вручную: apt install python3-venv && rm -rf $BOT_DIR/venv${NC}"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@@ -956,6 +972,11 @@ install_bot_deps() {
|
|||||||
echo -e " ${RED}✗${NC} pip install не удался."
|
echo -e " ${RED}✗${NC} pip install не удался."
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
# Проверяем что модуль реально доступен
|
||||||
|
if ! "$BOT_DIR/venv/bin/python" -c "import telegram" 2>/dev/null; then
|
||||||
|
echo -e " ${RED}✗${NC} Модуль telegram не найден после установки."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
echo -e " ${GREEN}✓${NC} Зависимости установлены"
|
echo -e " ${GREEN}✓${NC} Зависимости установлены"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user