miércoles, 18 de noviembre de 2009

PyInstaller 1.3


Estoy trabajando ultimamente en proyectos multiplataforma en python y me picó la curiosidad de ver como funcionaban los empaquetadores más conocidos como por ejemplo py2exe o PyInstaller. He leído unos cuantos posts en varios lugares y pude constatar que, a pesar de que py2exe parece más extendido y más conocido, muchos acaban decantándose por PyInstaller ya que, según cuentan los usuarios, da menos problemas en determinados momentos.

Yo finalmente decidí probar ambos (sólo los he probado bajo Windows) ya que lo que más me movía era la simple curiosidad. Después de probar cada uno de ellos con un simple y llano "HolaMundo.py" debo decir que me quedo con PyInstaller por dos cosas. La primera, por su facilidad de uso e instalación. La segunda, porque las opciones que pude ver en un vistazo rápido superan en facilidad y funcionalidad las de py2exe (resaltando lo de "vistazo rápido").

A raíz de esto he decidido crear un ejecutable de el primer programa que posteé en el blog, gDiscover.py, en su versión para Windows. Así, además de portar dicho programa, explico como lo hice y todos podréis hacer vuestros propios ejecutables rapidamente.

Primero descargamos PyInstaller para windows desde su AQUÍ

Como ya he dicho, su instalación es bastante sencilla. Descomprimimos la carpeta pyinstaller-1.3 del archivo comprimido en nuestro directorio de python que en mi caso es C:\Python26\ . Hecho esto abrimos la línea de comandos y nos dirigimos a la carpeta C:\Python26\pyinstaller-1.3 y desde ahí ejecutamos:

        $ Configure.py

PyInstaller 01


Et Voilà! Ya podemos empezar a usarlo. Para crear nuestro ejecutable basta con dos órdenes sencillas desde la carpeta en la que nos encontramos (podéis poner la ruta que queráis. No hace falta cambiar el programa de sitio):

        $ Makespec.py C:\Projects\gDiscoverWin.py

PyInstaller 02

Esta orden se encarga de analizar nuestro archivo .py y sus dependencias y crea una carpeta para nuestro programa dentro de la carpeta pyinstaller-1,3. Además crea un archivo con el mismo nombre que el programa pero con la extensión .spec dentro de esta nueva carpeta que servirá a la siguiente orden para la creación de nuestro ejecutable.

Lo que debemos hacer a continuación es llamar a Build.py con la ruta que nos devolvió la ejecución de Makespec.py de esta forma:

       $ Build.py C:\Python26\pyinstaller-1.3\gDiscoverWin\gDiscoverWin.spec

PyInstaller 03

Hecho esto, en C:\Python26\pyinstaller-1.3\gDiscoverWin\ se nos creará una carpeta BuildgDiscoverWin y otra distgDiscoverWin. La primera simplemente es utilizada por el programa y no nos será de utilidad. En cambio, dentro de distgDiscoverWin estará nuestro archivo .exe con todas las dependencias necesarias para su ejecución.  Solo tenemos que hacer por ejemplo un archivo .rar con todo el interior de esta carpeta y podremos ejecutar nuestro programa sin necesidad de que en el pc donde lo hagamos tenga instalado nada más que un windows XP.

Aquí os dejo la prueba de ello. =)

gDiscoverWin.rar


germanNRG'09

No hay comentarios:

Publicar un comentario