====== PyInstaller ====== Módulo de [[..:..:python|Python]] que permite empaquetar una aplicación de Python y todas sus dependencias en un único fichero ejecutable. * [[https://github.com/pyinstaller/pyinstaller|Repositorio de código]] * [[https://pyinstaller.org/en/stable/|Documentación]] ===== Ventajas ===== * Permite convertir scripts de Python en ejecutables independientes * No requiere que el usuario tenga Python instalado * Incluye automáticamente la mayoría de dependencias (por ejemplo, PySide o Qt) * Soporta múltiples plataformas (Linux, Windows, macOS) * Fácil de usar con comandos simples * Permite generar un único archivo ejecutable (''%%--%%onefile'') * Compatible con muchas librerías populares * Muy utilizado y con buena documentación ===== Desventajas ===== * El tamaño del ejecutable final suele ser grande * No es un compilador real (no genera código nativo optimizado) * Puede haber problemas con dependencias complejas (especialmente en apps gráficas) * La compilación cruzada no está soportada (hay que generar el ejecutable en cada sistema operativo) * El arranque de ejecutables ''%%--%%onefile'' puede ser más lento * Puede requerir configuración adicional en proyectos grandes * Algunos antivirus pueden detectar falsos positivos (especialmente con UPX) * Depuración de errores en el ejecutable puede ser más difícil ===== Instalación ===== pip install pyinstaller Pero en Arch Linux es a través del paquete ''pyinstaller''. ===== Uso ===== ==== Desde Linux para Linux ==== pyinstaller miapp.py La aplicación quedará "empaquetada" en el directorio ''folder''.