Requisitos Previos
Antes de comenzar, asegúrate de tener instalado:
Docker Desktop
Docker es necesario para ejecutar PostgreSQL de forma aislada.
Python 3.9+
El proyecto requiere Python 3.9 o superior.
# Verificar versión de Python
python --version
# Debería mostrar: Python 3.9.x o superior Git
Para clonar el repositorio desde GitHub.
Instalación Paso a Paso
1 Clonar el Repositorio
Clona el proyecto desde GitHub a tu máquina local:
git clone https://github.com/AlexFT257/BCNExtractor.git
cd BCNExtractor 2 Iniciar PostgreSQL con Docker
Levanta la base de datos PostgreSQL usando Docker Compose:
# Iniciar PostgreSQL en segundo plano
docker-compose up -d
# Verificar que el contenedor esté corriendo
docker ps Tip: El contenedor creará automáticamente la base de datos y las tablas necesarias al iniciarse por primera vez.
3 Instalar Dependencias de Python
Instala las bibliotecas necesarias usando pip:
# Opción 1: Instalación directa
pip install -r requirements.txt
# Opción 2: Usar entorno virtual (recomendado)
python -m venv venv
source venv/bin/activate # En Windows: venv\Scripts\activate
pip install -r requirements.txt 4 Configurar Variables de Entorno
Copia el archivo de ejemplo y configura tus credenciales:
# Copiar el archivo de ejemplo
cp .env.example .env
# Editar el archivo .env con tus credenciales
nano .env # o usa tu editor favorito
El archivo .env debe contener:
# Configuración de PostgreSQL
POSTGRES_USER=postgres
POSTGRES_PASSWORD=tu_password_seguro
POSTGRES_DB=bcn_normas
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
# Configuración de la API BCN
BCN_API_BASE_URL=https://www.bcn.cl/leychile/ws
BCN_REQUEST_TIMEOUT=30
BCN_MAX_RETRIES=3
# Configuración de Logging
LOG_LEVEL=INFO
LOG_FILE=data/logs/bcn_extractor.log 5 Cargar Instituciones Iniciales
Carga el catálogo de instituciones desde el CSV incluido:
python cli_instituciones.py load data/instituciones.csv Éxito: Esto cargará aproximadamente 150 instituciones en la base de datos.
Verificar la Instalación
Prueba que todo esté funcionando correctamente:
# Ver estadísticas del sistema
python bcn_cli.py stats
# Listar instituciones disponibles
python cli_instituciones.py list
# Probar la conexión a la BCN
python bcn_cli.py list 17 --limit 5 Si todos los comandos funcionan sin errores, ¡la instalación fue exitosa!
Comandos Útiles de Docker
Ver logs del contenedor:
docker-compose logs -f postgres Detener el contenedor:
docker-compose down Reiniciar el contenedor:
docker-compose restart Acceder a la consola de PostgreSQL:
docker exec -it bcn_postgres psql -U postgres -d bcn_normas Problemas Comunes
Error: "Puerto 5432 ya está en uso"
Ya tienes PostgreSQL corriendo localmente. Opciones:
- 1. Detén PostgreSQL local y usa Docker
- 2. Cambia el puerto en
docker-compose.yml(ej: 5433:5432) - 3. Usa tu PostgreSQL local y actualiza el
.env
Error: "No se puede conectar a PostgreSQL"
Verifica que:
- • Docker esté corriendo:
docker ps - • Las credenciales en
.envcoincidan condocker-compose.yml - • El puerto 5432 esté abierto en tu firewall
Error: "ModuleNotFoundError"
Reinstala las dependencias: pip install -r requirements.txt --force-reinstall
Próximos Pasos
Ahora que tienes todo configurado, continúa con: