¿Cómo crear Aplicaciones ejecutables en Python?
Recordemos que Python es un leguaje que no se compila a un código que es ejecutado directamente por el procesador. Esto se debe a la necesidad de requerir un intérprete. Teniendo esto en cuenta, no podemos desarrollar archivos ejecutables en Python pretendiendo que otros equipos o softwares tengan instalado el intérprete de dicho lenguaje.
Table of Contents
TogglePyinstaller
Existen muchos programas para la conversión a otros tipos de ejecutables. No obstante, y a modo de ejemplo, vamos a convertir un archivo .py a .exe para Windows. Para ello podemos utilizar la herramienta Pyinstaller ya que se suele usar más (Aunque también existen otras como py2exe y cx_Frezze). Para esto realizamos:
python -m pip install Pyinstaller
Ahora bien, estaremos usando el archivo example.py como ejemplo para covertirlo a un ejecutable en Windows. Como puede ver, es un simple archivo que contiene un cuadro con algunos widgets como botones, caja de texto y etiqueta.
Simplemente debemos colocarnos en la ruta donde se encuentre el archivo en nuestra terminal, o consola, y colocar lo siguiente:
pyinstaller example.py
Con lo que se nos aparecerá lo siguiente:
Como se observa, se nos crean dos carpetas (dist y build) y un archivo (example). Dentro de la carpeta dist encontraremos nuestro ejecutable junto con sus dependencias listo para ser usado y distribuido sin necesidad de un intérprete en Python.
Algunos usos
En el caso de querer realizar solo un archivo sin dependencias para tener más portabilidad, podemos hacer uso de – -onefile:
pyinstaller –onefile example.py
Si queremos agregar algún ícono que posea nuestro programa. Podemos colocar:
pyinstaller –onfile –icon=image.ico ejemplo.py
En el caso de no querer mostrar la consola:
pyinstaller –noconsole example.py
Este último suele ser muy utilizado para aplicaciones de escritorio.
Por lo tanto, de esta manera podremos crear nuestras aplicaciones ejecutables en python, vía el módulo pyinstaller para convertir archivos .py en .exe y desarrollar nuestros proyectos.