# Preparación del ENTORNO DE DESARROLLO en Windows: verifica Python/7-Zip/ODBC del # sistema, crea el venv e instala requirements.txt para correr `python runner.py`. # # NO es el instalador de despliegue. Para instalar el binario compilado en un servidor # usa install.ps1 (raíz del repo), que es autocontenido y no necesita nada de esto. Write-Host "===============================================" -ForegroundColor Cyan Write-Host "CloudRestoreAS - Entorno de desarrollo" -ForegroundColor Cyan Write-Host "===============================================" -ForegroundColor Cyan Write-Host "" # Verificar Python Write-Host "1. Verificando Python..." -ForegroundColor Yellow $pythonVersion = python --version 2>$null if (-not $pythonVersion) { Write-Host "❌ Python no está instalado o no está en el PATH" -ForegroundColor Red Write-Host " Descarga Python 3.11+ desde: https://www.python.org/downloads/" -ForegroundColor Yellow Read-Host "Presiona Enter para salir..." exit 1 } Write-Host "✅ $pythonVersion" -ForegroundColor Green # Verificar versión de Python $versionString = $pythonVersion -replace "Python ", "" $version = [version]($versionString.Split()[0]) if ($version -lt [version]"3.11") { Write-Host "❌ Python $version es demasiado antiguo. Se requiere 3.11+" -ForegroundColor Red Read-Host "Presiona Enter para salir..." exit 1 } # Verificar 7-Zip Write-Host "" Write-Host "2. Verificando 7-Zip..." -ForegroundColor Yellow $sevenZipPaths = @( "C:\Program Files\7-Zip\7z.exe", "D:\Program Files\7-Zip\7z.exe", "C:\Program Files (x86)\7-Zip\7z.exe" ) $sevenZipFound = $false foreach ($path in $sevenZipPaths) { if (Test-Path $path) { Write-Host "✅ 7-Zip encontrado en: $path" -ForegroundColor Green $sevenZipFound = $true break } } if (-not $sevenZipFound) { Write-Host "⚠️ 7-Zip no encontrado en ubicaciones estándar" -ForegroundColor Yellow Write-Host " Descarga 7-Zip desde: https://www.7-zip.org/" -ForegroundColor Yellow Write-Host " (Puedes configurar la ruta manualmente en la aplicación)" -ForegroundColor Cyan } # Verificar ODBC Driver Write-Host "" Write-Host "3. Verificando ODBC Driver for SQL Server..." -ForegroundColor Yellow $odbcDrivers = Get-OdbcDriver | Where-Object {$_.Name -like "*SQL Server*"} if ($odbcDrivers) { Write-Host "✅ ODBC Driver encontrado:" -ForegroundColor Green $odbcDrivers | ForEach-Object { Write-Host " - $($_.Name)" -ForegroundColor Gray } } else { Write-Host "⚠️ ODBC Driver for SQL Server no encontrado" -ForegroundColor Yellow Write-Host " Descarga desde: https://aka.ms/downloadmsodbcsql" -ForegroundColor Yellow Write-Host " (Requerido para conectar con SQL Server)" -ForegroundColor Cyan } # Crear entorno virtual Write-Host "" Write-Host "4. Creando entorno virtual..." -ForegroundColor Yellow if (Test-Path "venv") { Write-Host " El entorno virtual ya existe, omitiendo..." -ForegroundColor Gray } else { python -m venv venv if ($LASTEXITCODE -eq 0) { Write-Host "✅ Entorno virtual creado" -ForegroundColor Green } else { Write-Host "❌ Error creando entorno virtual" -ForegroundColor Red Read-Host "Presiona Enter para salir..." exit 1 } } # Activar entorno virtual Write-Host "" Write-Host "5. Instalando dependencias..." -ForegroundColor Yellow & ".\venv\Scripts\python.exe" -m pip install --upgrade pip & ".\venv\Scripts\pip.exe" install -r requirements.txt if ($LASTEXITCODE -eq 0) { Write-Host "✅ Dependencias instaladas" -ForegroundColor Green } else { Write-Host "❌ Error instalando dependencias" -ForegroundColor Red Read-Host "Presiona Enter para salir..." exit 1 } # Crear directorios necesarios Write-Host "" Write-Host "6. Creando directorios..." -ForegroundColor Yellow $dirs = @("data", "logs") foreach ($dir in $dirs) { if (-not (Test-Path $dir)) { New-Item -ItemType Directory -Path $dir | Out-Null Write-Host "✅ Creado: $dir" -ForegroundColor Green } else { Write-Host " $dir ya existe" -ForegroundColor Gray } } # Resumen Write-Host "" Write-Host "===============================================" -ForegroundColor Green Write-Host "Instalación Completada" -ForegroundColor Green Write-Host "===============================================" -ForegroundColor Green Write-Host "" Write-Host "Para ejecutar la aplicación:" -ForegroundColor Cyan Write-Host " 1. Activa el entorno virtual:" -ForegroundColor White Write-Host " .\venv\Scripts\Activate.ps1" -ForegroundColor Yellow Write-Host " 2. Ejecuta la aplicación:" -ForegroundColor White Write-Host " python runner.py" -ForegroundColor Yellow Write-Host "" Write-Host "O ejecuta directamente:" -ForegroundColor Cyan Write-Host " .\venv\Scripts\python.exe runner.py" -ForegroundColor Yellow Write-Host "" Write-Host "Lee el README.md para configuración completa." -ForegroundColor Cyan Write-Host "" Read-Host "Presiona Enter para salir..."