Luego de la incursión en python de algunos post atrás, mi próximo paso fue poder ejecutarlo sobre un servidor web. Para ello partí de la base que en mi sistema tenía instalado:

  • WAMP 2.0a (hoy ya está disponible la 2.0b)
  • ActivePython-2.5.1.1

Lo único que tuve que bajar e instalar fue el Mod_pyhton. Mod_python es un modulo apache para interpretar python scripts.

mp_long.gif

 Luego el resto fue configuración:

  • En el httpd.conf en la sección donde “Dynamic Shared Object (DSO) Support” tuve que agregar el mod_python:
LoadModule python_module modules/mod_python.so
  • También en el httpd.conf tuve que configurar el directorio donde estarán mis scripts y un handler por default para python (para más información consultar aquí).
#directorio con handler para archivos python
<Directory c:/wamp/www/python> 

        SetHandler mod_python 

        PythonHandler mod_python.publisher 

</Directory>

Terminado de configurar ésto fue necesario reiniciar el apache server.

Luego, en el directorio c:/wamp/www/python cree el clásico Hola Mundo bajo el nombre de c:/wamp/www/python/index.py

def hola(req):
   req.content_type = "text/html"
   req.write("<html><head></head><body>
 <p>hola mundo</p></body></html>")

Luego abri el browser y emocionado ingresé en la barra de direcciones http://localhost/python/index.py y allí mi primer gran frustración: “The webpage cannot be found”

Por suerte la frustración no duró mucho, bastó leer un poco nada más. A diferencia de las páginas .php, .html, .asp donde uno está acostumbrado a llamar desde la URL directamente al archivo, en python en la URL se le pasa el nombre de la función, por lo tanto en mi caso sería: http://localhost/python/hola

Para resolver esta petición, el servidor busca la función hola en el archivo index.py.

Si fuera que nuestra función se encuentra en otro archivo (por ejemplo funciones.py), para llamarla deberíamos hacer http://localhost/python/funciones.py/hola.