Browse Source

im a fucking dumbass

Matthew Trejo 4 months ago
parent
commit
d3943a234e
1 changed files with 115 additions and 0 deletions
  1. 115 0
      run.bat

+ 115 - 0
run.bat

@@ -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