Convertir script en .exe python

publicado por: Anonymous

Bueno amigos el hecho es que me estoy iniciando en esto de la programación aprendiendo python. Y he buscado información acerca de como volver tu sript ejecutable en un ordenador donde no tenga el interpetre instalado. Ya he leído que para eso se convierte el archivo a un .exe pero no me queda del todo claro como es el proceso. Podrían indicar me que librería se utiliza para esto o como es el proceso ? Y que sea ejecutable tanto en win,mac y linux . Lo que quiero convertir es una aplicación de consola . y utilizo python 3.

solución

Tu consulta apunta a lo que se conoce como “freeze” o congelado de aplicaciones, es básicamente una forma de distribuir tu programa junto con las dependencias más un interprete python también con todas sus dependencias. Este proceso normalmente crea una carpeta, un zip o incluso un exe, en teoría con todo lo que necesita tu aplicación para ejecutarse de forma totalmente independiente y “portable”. Este proceso nunca es multiplataforma, es decir: para hacer una distribución para Linux, necesitas un Linux + Python + una herramienta de freeze que corra bajo este SO, igual que con el resto de los sistemas operativos. En definitiva, lo métodos tradicionales de distribución mediante el código fuente suelen ser mucho más cómodos en este sentido, sin embargo tanto Win con Mac son SOs dónde no podemos asumir que tenemos python instalado, en Linux te diría que casí seguro todas las distros cuentan con el interprete, pero seguramente no todas con las últimas versiones.

¿Que opciones para distribución tenemos?

Cx_freeze: Permite ejecutarse en los tres SOs y por consiguiente armar las distribuciones correspondientes. Puede generar una carpeta con un ejecutable y todas las dependencias. Soporta desde la versión 2.7 del interprete en adelante.

pyinstaller: De igual forma que la anterior, corre en los principales SOs. Bajo Windows tiene la posibilidad de crear un EXE único con todos los scripts, dependencias e interprete dentro de él, y automáticamente luego se descomprime todo en una carpeta temporal y se ejecuta de manera transparente. Es compatible con las versiones 2.7 y 3.3-3.5 del interprete.

py2exe: Ha quedado un poco atrás con respecto a las anteriores herramientas ya que solo apunto a los entornos Windows.

En general, todas estas herramientas tienen una forma de trabajar sencilla o avanzada. En el primer caso, por ejemplo con pyinstaller, podrías hacer simplemente (bajo win) pyinstaller miapp.py --onefile y obtendrías un miapp.exe con todo incluído. Este modo simple obviamente funciona con requerimientos sencillos y scripts simples, para cosas más avanzadas hay que configurar todo mediante algún script, en el caso de Cx_freeze, usa el típico setup.py que usa la distutils, en el otro caso, hay que crear un archivo de especificaciones pero en ambos casos no dejan de ser scripts de python, mediante estos archivos podremos configurar cosas como, la inclusión de iconos, gráficos, archivos de datos, dependencias no reconocidas, o simplemente definir el icono de nuestro programa.

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *