Tuesday, 7 April 2009

Primera toma de contacto con Python

Python, es un lenguaje dinámico de Orientación a Objetos, que se puede utilizar para todo tipo de desarrollo de software. Incluye una gran biblioteca y herramientas y es muy fácil de aprender. Además es un proyecto Open Source, y muchos programadores lo recomiendan, ya que permite un desarrollo de mayor calidad y una alta mantenibilidad del código. Dispone de traducciones para varios idiomas, y podemos encontrar manuales y ejemplos de código por la red. Podemos utilizar y descargar la última versión de la aplicación aquí.

En esta primera toma de contacto, he descargado la versión 2.6, ya que queria crear un pequeño formulario y generar una aplicación para ser distribuida. Para ello, he utilizado wxPython, que incorpora las librerias de los formularios i que esta basado en la wxWidgets. Además para la conversión de .py a .exe, he utilizado py2exe.

La relación de las descargas que he utilizado es la siguiente:

Python 2.6 -> python-2.6.1.msi
wxPython Runtime for Python 2.6 -> wxPython2.8-win32-unicode-2.8.9.2-py26.exe
py2exe for Python 2.6 -> py2exe-0.6.9.win32-py2.6.exe

Además, si no tenemos instalado el Visual Studio 2008, necesitaremos la siguiente DLL:
msvcp90.dll, y la podemos descargar en el siguiente enlace -> msvcp90

Ahora, lo instalamos todo, primero el Python, luego el wxPython y finalmente el py2exe. Se creará la carpeta C:\Python26 y dentro de libs\site-packages se instalaran los componentes anteriores.

La msvcp90.dll, la tenemos que copiar dentro de la carpeta C:\Python26\DLLs

Para la prueba del sistema, cojo un ejemplo de la web wxPython, y lo guardo en mi PC, en la C:\ por ejemplo. El ejemplo es el siguiente -> test7.py

Para probar la aplicación, arrancamos el IDLE (Python GUI), y ejecutamos lo siguiente:

import sys
sys.path.append('C:\\')
import os
os.getcwd()
'C:\\Python26'
os.chdir('..')
os.chdir('temp')
os.chdir('py')
execfile('test7.py')

Todo esto lo hago porque he dejado el fichero test7.py dentro de la carpeta C:\temp\py\, y de esta manera posiciono el python en esta ruta, y una vez hago execfile, se arranca la aplicación:


Ahora que vemos que funciona, podemos crear nuestro paquete de distribución con un ejecutable, para ello, nos dirigimos a la ruta C:\temp\py\, y aquí, generamos un fichero que se llamará setup.py, y dentro de este escribiremos:

from distutils.core import setup
import py2exe
setup(windows=["test7.py"])

en este fichero, haremos una llamada a nuestra aplicación test7.py, y desde aquí es donde crearemos nuestro fichero ejecutable. Antes de continuar, hay que acordarse de publicar la carpeta C:\Python26, en la variable de entorno PATH, ya que sino cuando ejecutemos esta acción desde el cmd, si no hay visibilidad no se ejecutará. Por lo tanto, una vez estamos dentro de C:\temp\py\, ejecutamos:

python setup.py py2exe

Veremos, como empieza a compilar la aplicación y generar nuestra distribución:

Una vez procesado todo sin errores, en la carpeta nos aparecerá lo siguiente:


Dentro de la carpeta dist, podemos encontrar nuestra aplicación test7.exe y ejecutarla. Para que funcione en cualquier máquina, debemos llevarnos toda la carpeta, ya que esta contiene todas las librerías necesarias.

0 comments:

Post a Comment