Guía: Creación de un entorno virtual de Python en Debian y empaquetado de binario portable¶
1. Instalar dependencias del sistema en Debian¶
Debian gestiona Python principalmente a través de APT, por lo que primero instalamos los paquetes base y el gestor de entornos virtuales:
2. Crear un entorno virtual¶
3. Instalar dependencias en el virtualenv¶
4. Crear un ejecutable/bundle portable¶
Existen varias formas de empaquetar un proyecto Python para moverlo entre sistemas.
La más usada es PyInstaller porque genera un binario único con todas las dependencias incluidas.
4.1 Instalar PyInstaller en el virtualenv¶
4.2 Empaquetar tu aplicación¶
Supongamos que tu script principal es app.py:
Esto creará el binario en la carpeta dist/:
4.3 Probar el binario¶
Este binario es autocontenido, es decir, incluye el intérprete de Python y todas las dependencias, por lo que puedes copiarlo a otro sistema (siempre que sea la misma arquitectura y distribución base, ej. Debian/Ubuntu x86_64).
5. Consideraciones de portabilidad¶
- El binario creado con PyInstaller no es 100% “universal”:
- Si lo compilas en Debian 12 (amd64), funcionará en sistemas similares (ej. Ubuntu/Debian x86_64 con librerías compatibles).
- Para máxima portabilidad, debes compilar en el sistema más “antiguo” posible que quieras soportar.
- Si necesitas empaquetar para otra arquitectura (ej. ARM), deberás compilar allí o usar un contenedor/Docker multi-arch.
6. Alternativas a PyInstaller¶
- cx_Freeze → también genera binarios, más personalizable.
- shiv / pex → generan un único archivo
.pyzautocontenido con todas las dependencias (necesitan Python instalado en el destino). - docker + distroless → empaquetar como contenedor en lugar de binario.
✅ Con esto tienes:
1. Instalación de Python en Debian vía APT.
2. Creación de un virtualenv.
3. Instalación de dependencias.
4. Generación de un binario portable para mover entre sistemas.