| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- @echo off
- setlocal enabledelayedexpansion
- echo ========================================
- echo Peak Game - Launcher Script
- echo ========================================
- echo.
- :: Configuración
- set VENV_NAME=venv
- set PYTHON_SCRIPT=main.py
- set REQUIREMENTS_FILE=requirements.txt
- :: Verificar si Python está instalado
- python --version >nul 2>&1
- if errorlevel 1 (
- echo ERROR: Python no está instalado o no está en el PATH
- echo Por favor instala Python desde https://python.org
- pause
- exit /b 1
- )
- echo [INFO] Python detectado correctamente
- :: Verificar si el entorno virtual existe
- if exist "%VENV_NAME%\Scripts\activate.bat" (
- echo [INFO] Entorno virtual encontrado
- goto :check_dependencies
- ) else (
- echo [INFO] Creando entorno virtual...
- python -m venv %VENV_NAME%
- if errorlevel 1 (
- echo ERROR: No se pudo crear el entorno virtual
- pause
- exit /b 1
- )
- echo [SUCCESS] Entorno virtual creado exitosamente
- goto :install_dependencies
- )
- :check_dependencies
- echo [INFO] Activando entorno virtual...
- call "%VENV_NAME%\Scripts\activate.bat"
- :: Verificar si las dependencias están instaladas
- echo [INFO] Verificando dependencias...
- if exist "%REQUIREMENTS_FILE%" (
- :: Usar pip-sync o verificación más inteligente
- echo [INFO] Verificando si las dependencias necesitan actualizarse...
-
- :: Intentar una instalación en modo dry-run para verificar
- pip install --dry-run -r "%REQUIREMENTS_FILE%" > temp_check.txt 2>&1
-
- :: Verificar si hay algo que instalar (buscar "Would install" o "Requirement already satisfied")
- findstr /C:"Would install" temp_check.txt >nul
- if errorlevel 1 (
- :: No hay "Would install", verificar si todo está satisfecho
- findstr /C:"Requirement already satisfied" temp_check.txt >nul
- if not errorlevel 1 (
- echo [SUCCESS] Todas las dependencias están instaladas y actualizadas
- del temp_check.txt
- goto :run_script
- ) else (
- echo [INFO] Necesario verificar e instalar dependencias...
- del temp_check.txt
- goto :install_dependencies
- )
- ) else (
- echo [INFO] Se encontraron dependencias faltantes o desactualizadas
- del temp_check.txt
- goto :install_dependencies
- )
- ) else (
- echo [WARNING] Archivo requirements.txt no encontrado
- goto :run_script
- )
- :install_dependencies
- echo [INFO] Activando entorno virtual...
- call "%VENV_NAME%\Scripts\activate.bat"
- if exist "%REQUIREMENTS_FILE%" (
- echo [INFO] Instalando dependencias desde %REQUIREMENTS_FILE%...
- pip install -r "%REQUIREMENTS_FILE%"
- if errorlevel 1 (
- echo ERROR: No se pudieron instalar las dependencias
- pause
- exit /b 1
- )
- echo [SUCCESS] Dependencias instaladas correctamente
- ) else (
- echo [WARNING] Archivo %REQUIREMENTS_FILE% no encontrado, continuando sin instalar dependencias
- )
- :run_script
- echo.
- echo [INFO] Ejecutando %PYTHON_SCRIPT%...
- echo ========================================
- echo.
- :: Verificar si el archivo main.py existe
- if not exist "%PYTHON_SCRIPT%" (
- echo ERROR: El archivo %PYTHON_SCRIPT% no existe
- pause
- exit /b 1
- )
- :: Ejecutar el script principal
- python "%PYTHON_SCRIPT%"
- echo.
- echo ========================================
- echo [INFO] Ejecución completada
- echo Presiona cualquier tecla para salir...
- pause >nul
|