# Instalador para Windows (PowerShell). # # Solo hace falta para RECONSTRUIR los datos. Para USAR el visor no se instala # nada: se abre out\visor.html haciendo doble clic. # # Si Windows bloquea el script: # Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass # .\install.ps1 $ErrorActionPreference = "Stop" Set-Location -Path $PSScriptRoot Write-Host "== RAVE SCOUT / EXPLORER ==" -ForegroundColor Cyan # --- python --- $py = $null foreach ($c in @("py -3", "python", "python3")) { try { $exe, $arg = $c.Split(" ", 2) $v = & $exe $arg -c "import sys;print(sys.version_info>=(3,9))" 2>$null if ($v -eq "True") { $py = $c; break } } catch { } } if (-not $py) { Write-Host "Falta Python 3.9 o superior." -ForegroundColor Red Write-Host " Descarga: https://www.python.org/downloads/" Write-Host " O bien: winget install Python.Python.3.12" Write-Host " Marca 'Add Python to PATH' durante la instalacion." exit 1 } $exe, $arg = $py.Split(" ", 2) Write-Host ("Python: " + (& $exe $arg -V)) # --- entorno --- if (-not (Test-Path ".venv")) { & $exe $arg -m venv .venv } & ".\.venv\Scripts\python.exe" -m pip -q install --upgrade pip Write-Host "Instalando dependencias..." & ".\.venv\Scripts\python.exe" -m pip -q install -r requirements.txt # --- comprobacion --- $chk = @" import importlib, sys faltan = [m for m in ('numpy','scipy','rasterio','osmium','shapely','pyproj', 'requests','PIL') if not importlib.util.find_spec(m)] if faltan: print('FALTAN: ' + ', '.join(faltan)); sys.exit(1) print('Dependencias correctas.') "@ $chk | & ".\.venv\Scripts\python.exe" - if ($LASTEXITCODE -ne 0) { exit 1 } Write-Host "" Write-Host "Listo." -ForegroundColor Green Write-Host " Abrir el visor: .\abrir.ps1" Write-Host " Ver paises: .\.venv\Scripts\python.exe src\regions.py" Write-Host " Reconstruir Espana: .\.venv\Scripts\python.exe src\stars.py" Write-Host " Otro pais: `$env:REGION='pt'; .\.venv\Scripts\python.exe src\stars.py"