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:
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.