TALLER PORTABILIDAD
Creación de una Aplicación Python Portable
Objetivo: En este ejercicio, los estudiantes aprenderán a crear una aplicación Python y
convertirla en un ejecutable portátil usando PyInstaller.
1. Desarrollo de la Aplicación Crea un script Python que solicite al usuario su nombre
y lo salude. Guarda el script como [Link] .
Resultado
2. Creación del Ejecutable Portable Investigar como Instala PyInstaller y proceder a
instalarlo. Investigar como generar el ejecutable usando el Script desarrollado antes.
Mostrar pantallazo de evidencia de los procesos investigados.
Paso #1
Para realizar nuestro ejecutable en el mismo editor de código que tengamos abrimos
nuestro terminal y procedemos a ingresar la siguiente línea de código
Nos debe aparece algo similar a esto
AUTO-PY-TO-EXE, una herramienta que convierte scripts de Python (.py) en ejecutables
(.exe). Usa PyInstaller internamente y proporciona una interfaz gráfica fácil de usar. Sirve
para crear ejecutables sin necesidad de que el usuario final tenga Python instalado. Es útil
para distribuir programas en Windows.
Paso #2
En el mismo terminal procedemos a escribir el siguiente código (python -m
auto_py_to_exe)
Este código nos habilitara una interfaz en la cual nos facilitara la creación de nuestro
ejecutable
1. Procedemos a buscar en nuestro
ordenador el Script que deseamos
convertir en este caso el que yo
deseo ejecutar se llama [Link]
2. Luego debemos seleccionar en
cuantos ejecutables queremos tener
nuestro Script en mi caso solo 1
3. En consola de Windows es
importante tener en cuenta si nuestro
Script tiene interfaz o es un
ejecutable simplemente por consola,
el mío es por consola así que lo dejo
en consola
4. Luego tenemos otras opciones las
cuales son para personalizar nuestro
ejecutable yo decidí agregarle un
icono en el ejecutable, aclarando que
la imagen debe esta en .ico como
extensión
5. Por ultimo en archivos debemos
incluir cada uno de los archivos que
contenga nuestro folder.
Solo queda dar en convertir
3. Prueba del Software Portable Probar el archivo ejecutable y explicar por qué logra
funcionar. Responder las siguientes preguntas:
¿Cuáles son las ventajas y desventajas de hacer software portátil con PyInstaller?
Ventajas
Facilidad de uso: Convierte scripts Python en ejecutables sin necesidad de
configuraciones complejas.
Compatibilidad con dependencias: Incluye bibliotecas necesarias en un solo
archivo ejecutable.
No requiere instalación de Python: Los usuarios pueden ejecutar el programa sin
instalar Python.
Multiplataforma: Puede generar ejecutables para Windows, Linux y macOS.
Desventajas:
Tamaño del archivo: Los ejecutables pueden ser grandes debido a la inclusión de
dependencias.
Problemas de compatibilidad: Un ejecutable creado en un sistema operativo
puede no funcionar en otro (ejemplo: un .exe de Windows no se ejecutará en Linux).
Detección como virus: Algunos antivirus pueden marcar los archivos generados
como maliciosos.
Depuración difícil: Una vez convertido en ejecutable, depurar errores es más
complicado que en el código fuente.
¿Cómo podrías mejorar la portabilidad para diferentes sistemas operativos?
1. Compilación en el sistema objetivo: Usa máquinas virtuales o contenedores
(Docker) para compilar el ejecutable en cada sistema.
2. Usar Wine o emuladores: Para ejecutar un .exe en Linux o macOS, se puede usar
Wine, pero no es 100% confiable.
3. Generar ejecutables específicos: En lugar de un solo .exe, compila versiones
separadas con pyinstaller --onefile --distpath ./output_folder para cada SO.
4. Usar herramientas alternativas: Como cx_Freeze o py2app para macOS.
5. Evitar dependencias específicas de un sistema operativo: Usa bibliotecas
compatibles con múltiples SO, como os y platform.
6. Distribuir el código fuente con un entorno virtual: Usa pipenv o venv para que el
usuario pueda instalarlo fácilmente en su sistema.
Incluir los códigos y pantallazos de los procesos realizados en la actividad. Desarrollar en
equipos las siguientes premisas:
¿Cuáles son los mayores desafíos al hacer software portable?
1. Mayores Desafíos al Hacer Software Portable
Gestión de dependencias y compatibilidad con diferentes sistemas.
Seguridad y riesgo de virus en ejecutables desconocidos.
Tamaño del ejecutable, que puede ser grande.
Configuración de permisos en sistemas operativos distintos.
¿Por qué la extensibilidad mejora el mantenimiento de los proyectos?
2. Relación entre Extensibilidad y Mantenimiento de Proyectos
La extensibilidad permite agregar nuevas funciones sin alterar demasiado el código base, lo
que facilita el mantenimiento a largo plazo. Un código modular y bien estructurado reduce
la complejidad y mejora la escalabilidad.