Instalar Python en WAMP

De ChuWiki

Suponemos que tenemos instalado WAMP (Windows-Apache-Mysql-PHP) y queremos añadirle Python, para poder hacer nuestro sitio web con este lenguaje.

Primero necesitamos instalar Phyton. Podemos hacerlo desde el sitio oficial de Python, o bien elegir la variante ActivePython, que viene con más módulos adecuados para windows. En cualquiera de los dos casos, siguiendo los pasos del instalador para Windows es fácil. Supongamos que queda instalado en C:\Python25, correspondiente a la versión 2.5 que es la que yo he probado.

Lo primero es configurar Apache para que uno de los directorios del sitio web se redirija a un directorio donde tendremos nuestros scripts de python. Si, por ejemplo, situamos nuestros scripts python en c:\usuarios\chuidiang\pruebas_python, y nuestro sitio web queremos que http://localhost/python apunte a esos scripts, debemos hacer lo siguiente


Configurar Apache para Python[editar]

Con WAMP arrancado, en el icono de la barra de tareas -habitualmente en la esquina inferior izquierda de la pantalla-, hacemos click izquierdo en el icono de WAMP, en el menú buscamos "directorios alias" y dentro la opción "agregar un alias". Una ventana nos preguntará por ambos directorios, es del sitio web y al que queremos redirigir las peticiones. Ponemos primero python (por el http://localhost/python que indicamos antes) y luego el de c:/usuarios/chuidiang/pruebas_python. Se abre el editor y encontraremos lo siguiente

Alias /python/ "c:/usuarios/chuidiang/pruebas_python/" 

<Directory "c:/usuarios/chuidiang/pruebas_python/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order allow,deny
    Allow from all
</Directory>

Unicamente tenemos que añadir un par de líneas para indicar que las peticiones a ese directorio deben tratarse con python, las líneas SetHandler... y PythonHandler...

Alias /python/ "c:/usuarios/chuidiang/pruebas_python/" 

<Directory "c:/usuarios/chuidiang/pruebas_python/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order allow,deny
    Allow from all
    SetHandler mod_python 
    PythonHandler mod_python.publisher
</Directory>

Hay otras formas posibles de configurar este handler, pero he elegido la más sencilla, que consiste en usar el mod_python.publisher que viene por defecto.

Instalar mod_python[editar]

Necesitamos ahora el módulo de python para Apache, de forma que Apache sepa donde encontrar python y cómo llamarlo. Para ello, debemos instalar mod_python, que nos podemos descagar de http://httpd.apache.org/modules/python-download.cgi . La instalación del binario para windows buscará nuestra instalación de python y de apache para dejarlo todo configurado. Si no encuentra alguno de ellos, preguntará por su ubicación.

Una vez instalado, debemos asegurarnos de que en el directorio modules de apache (en el caso de WAMP en wamp\Apache2\modules) está el fichero mod_python.so. Entonces, en el fichero httpd.conf de apache, debemos poner seguida a las demás líneas LoadModule, una linea como esta

LoadModule python_module modules/mod_python.so

Instalar el módulo de MySQL para Python[editar]

Si queremos acceder desde Python a MySQL, debemos instalar el módulo adecuado. Podemos hacerlo desde http://sourceforge.net/project/showfiles.php?group_id=22307&package_id=15775 y el instalable de windows encontrará la ubicación de python para poner allí el módulo.


Reiniciar Apache[editar]

Con esto debería estar todo listo. Ahora sólo nos queda reiniciar Apache. Para ello, en el icono de WAMP de la parte inferior izquierda de la pantalla, hacemos click izquierdo para sacar el menú y elegimos la opción "Reiniciar los servicios"


Probarlo[editar]

Para probar, en nuestro directorio c:/usuarios/chuidiang/pruebas_python podemos escribir un fichero index.py con el siguiente código python

def index (req):
   req.content_type = "text/html"
   req.write( "hola")

Una vez hecho, la llamada a http://localhost/python/index.py debería mostrarnos el "Hola Mundo"


Enlaces[editar]