lunes, 7 de noviembre de 2022

Creación de Ejecutables de una aplicación en Python.

El ejecutable tomará la forma del sistema operativo con el que estemos trabajando. Si lo estas haciendo en Windows será un archivo con terminación .exe, si estas en Linux un archivo ejecutable sin terminación o con terminación .tar.gz y .dmg si estás en Mac.

Para crear el ejecutable voy a utilizar el siguiente código:

https://github.com/chema-hg/SISTEMA_SOLAR

Es una simulación del sistema solar que utiliza la biblioteca Pygame para funcionar, con lo que si no la tienes instalada deberías instalarla previamente. Yo creare un directorio, crearé en el un entorno virtual. Después copiaré aquí el programa, activaré el entorno virtual e instalaré en el la librería Pygame.

Vamos a utilizar para crear el ejecutable la biblioteca Pyinstaller.  Por tanto hay que instalarlo. Existen otros programas similares como, Py2exe, cx_Freeze. Para Mac también está py2app.

Lo primero comentar que si quieres crear un ejecutable para Windows tienes que instalarlo y usarlo en Windows y lo mismo para Linux o Mac, ya que este programa en concreto no compila la versión para otra plataforma. Yo estoy trabajando en Linux así que crearé un ejecutable para Linux.


>>> mkdir Ejecutable
>>> cd Ejecutable/ # Aquí, copia dentro de este directorio la aplicación.
>>> python3 -m venv Mientorno
>>> source ./Mientorno/bin/activate
(Mientorno) >>> pip install pygame
Collecting pygame
  Using cached pygame-2.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (21.9 MB)
Installing collected packages: pygame
Successfully installed pygame-2.1.2

(Mientorno) >>> pip install pyinstaller
Collecting pyinstaller
  Downloading pyinstaller-5.6.2-py3-none-manylinux2014_x86_64.whl (594 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 594.9/594.9 KB 3.5 MB/s eta 0:00:00
Collecting pyinstaller-hooks-contrib>=2021.4
  Downloading pyinstaller_hooks_contrib-2022.12-py2.py3-none-any.whl (250 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 250.0/250.0 KB 25.5 MB/s eta 0:00:00
Collecting altgraph
  Downloading altgraph-0.17.3-py2.py3-none-any.whl (21 kB)
Requirement already satisfied: setuptools in ./Mientorno/lib/python3.10/site-packages (from pyinstaller) (59.6.0)
Installing collected packages: altgraph, pyinstaller-hooks-contrib, pyinstaller
Successfully installed altgraph-0.17.3 pyinstaller-5.6.2 pyinstaller-hooks-contrib-2022.12

Una vez instalado lo primero que tenemos que hacer es ir al directorio donde tenemos la aplicación, que en este caso es el mismo, puesto que hemos copiado la aplicación app.py aquí.


 pyinstaller aplicación.py --onefile --windowed --icon=./logo.ico



La estructura del comando es la anterior, pero en este ejemplo no voy a usar icono.

(Mientorno) >>> pyinstaller app.py --onefile --windowed

app.py es el nombre del archivo que quieres convertir en un ejecutable.


Opciones:

--windowed es para que no aparezca la consola al ejecutar el programa. En mi caso no aparecerá la ventana de la consola (si el programa no tiene salida por terminal) y solamente el gui gráfico.

--onefile Para que se cree un solo archivo compilado con todo lo que la aplicación necesita. Se podrá ejecutar incluso en un ordenador que no tenga Python instalado. Si no lo incluyes te aparecerá un montón de archivos con todo lo necesario para que la aplicación funcione. Si lo haces solo aparecerá un archivo.

--icon. Más que nada en windows para que el ejecutable aparezca con el icono que le pongas. Eso si, tiene que ser un archivo ico.

Después de unas cuantas operaciones, al final el programa te dirá si se ha podido crear el ejecutable con éxito. El archivo o archivos del ejecutable ya compilado lo puedes encontrar en la carpeta "dist" que habrá creado el programa. Y solo queda ejecutarlo para ver que funcione.




No hay comentarios:

Publicar un comentario