|
|
@@ -0,0 +1,115 @@
|
|
|
+@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
|