Logo de Torre de Babel
Portada Libros Diseño web Artículos Glosario RSS
Buscar

Python: instalación en Windows

Como se apuntó en la entrada Python: El BASIC del nuevo milenio, el lenguaje Python está disponible para múltiples sistemas operativos, entre ellos Linux y Windows. En las últimas distribuciones de Linux y versiones de MacOS X Python ya está ahí, por lo que no es necesario instalar nada. En caso de que no sea así, basta con abrir el gestor de paquetes que corresponda y buscar python para encontrar rápidamente los paquetes a instalar. En el caso de Ubuntu, que es la distribución de Linux más conocida, Python está instalado por defecto y puede ser localizado en el Centro de software Ubuntu al que corresponde la imagen inferior.

La instalación de módulos/extensiones de Python resulta, en Linux o MacOS X, igualmente fácil, ya que el gestor de paquetes normalmente ofrece la versión adecuada y se encarga de resolver las dependencias que pudieran existir, siendo posible siempre descargar el código fuente y compilar. Anecdóticamente la mayoría de tutoriales que se encuentran por la Web explican cómo instalar Python y sus extensiones en Linux, pero muy pocos detallan el proceso a seguir en Windows. Lógicamente se asume que un programador (puesto que va a usar Python) tendrá recursos suficientes como para arreglárselas por sí solito, pero por si acaso he decidido escribir esta breve entrada.

Lo primero que hemos de tener en cuenta es qué módulos de Python pretendemos usar, ya que de esto dependerá en parte la versión de lenguaje que tengamos que instalar. Actualmente hay dos ramas en desarrollo del núcleo de Python: la 3.x y 2.x, cuyas últimas versiones son la 3.1 y 2.7. La rama 3.x es, lógicamente, el futuro de Python, pero cuenta con algunos cambios que hacen necesario adecuar el código pensado para versiones previos. Ésta es la razón de muchos módulos aún no estén disponibles para usar con Python 3.x. En la rama 2.x la versión más alta es la 2.7, pero también hay una rama 2.6.x que sigue manteniéndose resolviendo los fallos que se detectan. La última versión de dicha rama, la 2.6.6, se lanzó hace ahora un mes y es importante, ya que muchos módulos populares funcionan sobre Python 2.6.x, pero no con Python 2.7.x ni Python 3.x.

Es importante, en consecuencia, hacer una revisión de los módulos que vamos a necesitar y la dependencia que tienen respecto a la versión de Python que debe tenerse instalada. Asumiendo que vayamos a usar Python para realizar tareas de análisis de datos, como es mi caso, nos resultarán imprescindibles al menos los tres siguientes módulos:

  • NumPy: Facilita el trabajo con matrices de cualquier dimensión y ofrece funciones de álgebra lineal y generación de números aleatorios. La última versión disponible es la 1.5.0 liberada el pasado 31 de agosto.
  • SciPy: Este módulo permite a Python acercarse a las capacidades de MatLab, al ofrecer funciones para el análisis de imágenes y señales, de integración numérica, cálculo de transformadas de Fourier, elaboración de estadísticas, etc. La última versión es la 0.8 liberada el pasado 28 de julio.
  • matplotlib: Se trata de un módulo que ofrece la posibilidad de representar gráficamente conjuntos de datos, generando una visualización en pantalla o bien almacenando el gráfico en diversos formatos (PNG, PDF, EPS, etc.). La última versión disponible es la 1.0.0.

Se da la circunstancia de que a día de hoy, 27 de septiembre de 2010, ninguno de estos tres módulos se ha actualizado para su uso con Python 3.x ni 2.7.x, sino que esperan encontrar en el sistema alguna versión de la rama 2.6. Podríamos descargar el código fuente y compilarlo nosotros mismos, pero seguramente nos resultará difícil corregir los problemas que pudieran surgir debidos a los cambios que ha experimentado el lenguaje, especialmente en el caso de la versión 3.1, dado que no conocemos el código a fondo. Por ello lo recomendable es instalar Python 2.6.6 y esperar a que esos módulos se actualicen para después cambiar a la versión 3.1. Dicho cambio no representará un gran obstáculo, ya que existe una herramienta que se encarga de realizar las conversiones necesarias en el código fuente.

Partiendo de estas premisas (que recuerda son válidas en esta fecha, pero cambiarán en el futuro), los pasos a seguir para instalar todos los elementos y comprobar su funcionamiento serían los siguientes:

  • Descargamos el instalador de Python 2.6.6 para Windows y autorizamos su ejecución. Al finalizar ya tenemos Python instalado.
  • Para comprobar que Python funciona correctamente buscamos en la carpeta que se ha agregado a Todos los programas el elemento IDLE y lo elegimos, accediendo a una ventana como la que aparece en la imagen inferior. Nos encontramos con el intérprete de Python. Introducimos la sentencia import datetime y pulsamos Intro, escribimos print "Hola desde Python", datetime.date.today(), "Torre de Babel" y al pulsar de nuevo Intro debemos obtener la respuesta que aparece en azul en la imagen inferior.

  • A continuación descargamos los instaladores de NumPy, SciPy y matplotlib y los ejecutamos uno tras otro, aceptando en todos los casos las opciones por defecto.
  • Para probar que todos los módulos están ahí y operan correctamente abrimos de nuevo IDLE (si lo habíamos cerrado), seleccionamos File -> New Window para abrir una ventana de edición y escribimos el script que puede verse a continuación:

Finalmente, basta con pulsar F5 para ejecutar el guión (habrá que guardarlo antes) y comprobar el resultado. Si aparece una ventana como la inferior, mostrando una gráfica de la función seno, es que todo ha ido bien.

Este guión usa la función arange() del módulo numpy, una función de interpolación del módulo scipy y el objeto pyplot de matplotlib para representar los datos, por lo que en pocas líneas comprobamos la correcta instalación de todos ellos. A partir de este momento ya tenemos todo lo necesario para usar Python en tareas de análisis de datos.


Publicado el 27/9/2010

Curso de shaders

Torre de Babel - Francisco Charte Ojeda - Desde 1997 en la Web