Empaquetamiento de aplicaciones en Windows con PyInstaller

Empaquetamiento de aplicaciones en Windows con PyInstaller

PyInstaller es una herramienta que permite crear ejecutables para Windows a partir de código Python. Esto permite distribuir las aplicaciones Python sin necesidad de que el usuario tenga instalado el intérprete de Python en su sistema.

Instalación

Para instalar PyInstaller, debemos abrir una terminal y ejecutar el siguiente comando:

pip install pyinstaller

Creación de un ejecutable

Para crear un ejecutable con PyInstaller, debemos ejecutar el siguiente comando:

pyinstaller mi_aplicacion.py

Este comando creará un directorio llamado dist que contendrá el ejecutable de la aplicación, así como todos los archivos necesarios para su ejecución.

Ejemplo

Consideremos el siguiente código Python:

Python
def main():
    print("Hola, mundo!")

if __name__ == "__main__":
    main()

Para crear un ejecutable para este código, podemos ejecutar el siguiente comando:

pyinstaller mi_aplicacion.py

Esto creará un directorio llamado dist que contendrá el siguiente archivo:

  • mi_aplicacion.exe: El ejecutable de la aplicación.
  • mi_aplicacion.spec: Un archivo de especificación que contiene información sobre la aplicación.

Para ejecutar la aplicación, podemos simplemente hacer doble clic en el archivo mi_aplicacion.exe.

Opciones de PyInstaller

PyInstaller ofrece una serie de opciones que permiten personalizar el proceso de empaquetado. Algunas de las opciones más comunes son:

  • -F: Crea un único ejecutable para la aplicación.
  • -D: Crea un directorio con todos los archivos necesarios para la ejecución de la aplicación.
  • -w: Elimina la consola de la aplicación.
  • -i: Indica una imagen para el icono de la aplicación.

Para obtener más información sobre las opciones de PyInstaller, podemos consultar la documentación oficial.

Limitaciones

PyInstaller no es perfecto y tiene algunas limitaciones. Una de las principales limitaciones es que no puede empaquetar aplicaciones que utilicen módulos externos que no estén instalados en el sistema del usuario. En estos casos, el usuario tendrá que instalar los módulos externos manualmente antes de poder ejecutar la aplicación empaquetada.

Otra limitación de PyInstaller es que puede generar ejecutables de gran tamaño. Esto se debe a que PyInstaller incluye todos los archivos necesarios para la ejecución de la aplicación, incluidos los módulos externos y las bibliotecas.

Conclusión

PyInstaller es una herramienta útil para empaquetar aplicaciones Python para Windows. Es fácil de usar y ofrece una serie de opciones que permiten personalizar el proceso de empaquetado. Sin embargo, es importante tener en cuenta las limitaciones de PyInstaller antes de utilizarlo.