Volver a la wiki

Bootstrap ZIP — Código embebido que no descarta PyInstaller

Descripción

El bootstrap del Agente carga su código desde un paquete ZIP embebido (app-VER.zip) en lugar de .py sueltos en agent_modules. Resuelve el bug que rompía en 2.14.0: PyInstaller analiza módulos y descarta los .py que colisionan con sus análisis internos (app_main.py) → el fallback embebido fallaba con “no encontrado”.

Raíz: Los 2 builds fallidos de 2.14.0 (07-07) se debían a que PyInstaller dejaba fuera app_main.py cuando iba como --add-data suelto → tras un swap limpio el bootstrap rompía.

Solución implementada

  1. build_agent.bat: genera app-VER.zip ANTES de llamar a PyInstaller.
  2. PyInstaller --add-data app-VER.zip: embebe el zip (no colisiona).
  3. bootstrap._embedded_source(): extrae y verifica el zip embebido en fallback.
    • Mismo mecanismo que un paquete descargado.
    • Se ejecuta si current.txt apunta a embebido o previous.txt no existe.

Testing

Impacto

Archivo modificado

Véase también

Subir