import subprocess
import sys

def application(environ, start_response):
    packages = ['flask', 'flask-cors', 'mysql-connector-python', 'google-generativeai', 'requests']
    output = ["<h1>Instalador Neural Traveler</h1>"]
    
    for package in packages:
        try:
            # Forzamos la instalación usando el ejecutable actual de Python
            subprocess.check_call([sys.executable, "-m", "pip", "install", package])
            output.append(f"<p style='color:green'>✅ {package} instalado correctamente.</p>")
        except Exception as e:
            output.append(f"<p style='color:red'>❌ Error en {package}: {str(e)}</p>")
    
    output.append("<p><b>Si todo esta en verde, vuelve a configurar passenger_wsgi.py</b></p>")
    
    response_body = "\n".join(output).encode('utf-8')
    status = '200 OK'
    response_headers = [('Content-Type', 'text/html; charset=utf-8'), ('Content-Length', str(len(response_body)))]
    start_response(status, response_headers)
    return [response_body]