Empaquetamiento de aplicaciones Python en Linux con PyInstaller

Empaquetamiento de aplicaciones Python en Linux con PyInstaller

PyInstaller es una herramienta multiplataforma diseñada para convertir ficheros .py de Python en ficheros ejecutables de Windows, Linux, Mac OS X, Solaris, y AIX.

Esta herramienta permite empaquetar una aplicación Python y todas sus dependencias en un solo archivo, lo que facilita su distribución y ejecución.

Instalación

Para instalar PyInstaller en Linux, podemos utilizar el siguiente comando:

pip install pyinstaller

Ejemplo

Para empaquetar una aplicación Python sencilla, podemos crear el siguiente código:

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

if __name__ == "__main__":
    main()

Una vez creado el código, podemos empaquetarlo en un archivo ejecutable con el siguiente comando:

pyinstaller -F main.py

Este comando creará un archivo ejecutable llamado main en la carpeta dist.

Opciones

PyInstaller ofrece una serie de opciones que permiten personalizar el proceso de empaquetado.

Algunas de las opciones más comunes son:

  • -F: Crea un archivo ejecutable único.
  • -w: Oculta la consola al ejecutar la aplicación.
  • -i: Agrega un icono a la aplicación.
  • -n: Cambia el nombre de la aplicación.

Ejemplos

Para crear un archivo ejecutable único, podemos utilizar la opción -F:

pyinstaller -F main.py

Para ocultar la consola al ejecutar la aplicación, podemos utilizar la opción -w:

pyinstaller -w main.py

Para agregar un icono a la aplicación, podemos utilizar la opción -i:

pyinstaller -i icon.ico main.py

Para cambiar el nombre de la aplicación, podemos utilizar la opción -n:

pyinstaller -n mi-aplicacion main.py

Problemas comunes

Si al empaquetar una aplicación Python se producen errores, es posible que se deba a que la aplicación depende de módulos o bibliotecas que no están instaladas en el sistema.

Para solucionar este problema, podemos instalar los módulos o bibliotecas necesarios en el sistema o indicar a PyInstaller que los incluya en el archivo ejecutable.

Para indicar a PyInstaller que incluya los módulos o bibliotecas necesarios en el archivo ejecutable, podemos utilizar la opción -p:

pyinstaller -F main.py -p pygame

Este comando empaquetará la aplicación Python y todos los módulos de la biblioteca pygame en el archivo ejecutable.

Conclusión

PyInstaller es una herramienta muy útil para empaquetar aplicaciones Python en Linux.

Con PyInstaller, podemos crear archivos ejecutables que pueden ser ejecutados sin necesidad de instalar Python o sus dependencias.