Mi primer EXE en Python con pantallas
Por la Redacción
de FoxPress
Python es un producto emergente que concita muchos
comentarios y algunas veces se han hecho aquí referencias a este producto.
Pero
para un programador novato en el producto, las dificultades que se le presentan
se le hacen insuperables... Sólo pensar que con Fox, producto que domina, una
aplicación la puede hacer en 5 minutos (una aplicación hiper-pequeña, se
entiende) y cuando lo intenta con Python se va atascando en cada paso... Las
dificultades se hacen insuperables y al final uno lo deja para otra ocasión.
El
objetivo de este artículo es guiar paso a paso, desde el principio hasta que
realices un .Exe que sea distribuible.
Este
proceso se encuentra con dos dificultades importantes:
1.- Python no tiene pantallas
2.- Python no hace ejecutables.
El
proceso sería el siguiente:
Descargar
1.- Bájate la ultima versión del programa. Te la
puedes bajar de aquí: http://www.python.org/ftp/python/2.4.1/python-2.4.1.msi
2.- Bájate wxPython que es la herramienta para hacer
pantallas: http://prdownloads.sourceforge.net/wxpython/wxPython2.6-win32-ansi-2.6.0.0-py24.exe
(www.wxpython.org/)
3.- Bájate Py2exe para hacer los ejecutables (http://prdownloads.sourceforge.net/py2exe/py2exe-0.5.4.win32-py2.4.exe?download)
Instalar
Una vez te hallas bajado todo,
instálalo siguiendo las opciones por defecto.
Python te habrá
creado un directorio llamado C:\Python24
y ahí es donde él se habrá instalado.
Por su parte, wxPython se
habrá instalado en C:\Python24\Lib\site-packages
Y py2Exe se habrá instalado
en C:\Python24\Lib\site-packages\
Ya tenemos instalado todo lo que
necesitamos.
Hacer un
programa en Python con una ventana
El siguiente paso, es con tu editor preferido (espero
que no uses el Notepad) cópiate el código que te pongo a continuación:
from wxPython.wx import wxPySimpleApp, wxFrame
app = wxPySimpleApp()
frame = wxFrame(None, -1, "Hello World")
frame.Show(1)
app.MainLoop()
Este código hace lo siguiente:
from wxPython.wx import wxPySimpleApp, wxFrame
La linea anterior, carga en memoria la librería wxPython
app = wxPySimpleApp()
Creamos una especie de objeto basado en la clase aplicación
frame = wxFrame(None, -1, "Hello World")
Creamos una instancia de la clase formulario con un caption "Hello World"
Pedimos que nos muestra la ventana que hemos creado
frame.Show(1)
Escribimos una especie de READ EVENTS
app.MainLoop()
el fichero anterior lo guardamos con el siguiente nombre miaplicacion.py y lo dejamos en C:\
Nota: Es importante, si no eres muy ducho con Python que sigas todos los pasos que te pongo de forma estricta sin usar otros directorios.
A continuación abrimos Python desde la opción IDLE Python GUI y lo que nos muestra: viene a ser como una ventana de comandos pegada al screen.
Al igual que pasa en Fox que por defecto se te abre en el directorio donde está instalado Fox. Aquí el Path está apuntando al directorio donde se encuentra Python y lo primero que vamos a hacer es re-dirigirlo a C:\
Para esto escribimos en la ventana de Python:
Import sys
Sys.path.append(‘C:\\’)
Esto en realidad viene a ser que se cargue en memoria la libreria de funciones SYS que hace referencia a cosas del sistema operativo y se añade al path de busqueda (algo parecido al SET PATH TO) para que busque en C:\
Para saber en qué directorio estamos se ejecuta:
Import os
Os.getcwd()
que nos dice que estamos en C:\Python24
Para retroceder hasta C:\ en el arbol de directorios escribimos:
os.chdir(‘..’)

Y ya podemos ver que estamos en C:\ que es donde habiamos dejado el archivo

a continuación invocamos la aplicación que habíamos hecho antes y la habiamos guardado en miaplicacion.py
Para eso ejecutamos
Execfile(‘miaplicacion’)
Seguramente se te abra minimizada. De esta forma ya
tenemos nuestra ventana de pitón funcionando.
Compilar el
Ejecutable
Para eso primero nos creamos un fichero que vamos a
llamar setup.py con lo siguiente:
# setup.py
from distutils.core
import setup
import py2exe
setup(windows=["miaplicacion.py"])
Y A continuación desde la ventana de comandos de
Windows ejecutamos:
Nos saldrá una pantalla negra con todas las cosas que
va haciendo.
Verás que una vez acabado en C:\ tienes dos
directorios, uno llmado build y otro dist.
Si dentro de dist ejecutas el ejecutable llamado miaplicacion.exe ¡¡bingo!! Tienes tu aplicación funcionando.
Redistribuir
la Aplicación
Para poder instalar tu aplicación en otros
ordenadores, unicamente tienes que llevar todos los ficheros que se encuentran
en el directorio dist que se te ha creado al ejecutar el py2exe y ahí tienes
todo.
Al copiarlo a una máquina Win XP limpia, unicamente me pidio que le añadiera el fichero MSVCE71.DLL que basto con copiarlo al lado de los anteriores y sin registrar nada ya funcionó. No hay que registrar ningún fichero y el tiempo que tardó en salir la primera pantalla es similar al que tardan las aplicaciones Fox.
FoxPress – Mayo de 2005
© 2005 FoxPress.
All rights reserved