Aprende a programar en Python desde cero

Un excelente video tutorial para aprender a programar en Python, el cual está dirigido a todos aquellos que quieren iniciarse en este excelente lenguaje.

Fuente:
CodeJobs

Consumir un servicio web desde Python

Consumir un servicio de web desde python es una tarea fácil de realizar y con la ayuda de suds lo es aún más, en esta ocasión quiero compartir la forma de llevar a cabo esta operación, si todavía no tienes instalado el cliente suds aqui puedes encontrar la guía de instalación.

Consumiendo el servicio web:

#!/usr/bin/python

import suds

url = "http://www.tudominio.com/webservice.wsdl"

client = suds.client.Client(url)

Para saber que métodos son los que incluye nuestro servicio web lo hacemos con la siguiente instrucción:

print client

La salida es la siguiente:

Suds ( https://fedorahosted.org/suds/ )  version: 0.3.7 GA  build: R580-20091016

Service ( respaldo ) tns="http://www.tudominio.com/"
   Prefixes (0)
   Ports (1):
      (respaldoSOAP)
         Methods (1):
            setInfo(xs:string file, xs:string empresa, )
         Types (0):

Para este ejemplo el servicio web incluye un único método ( setInfo ) el cual lo podemos invocar de la siguiente forma:

#!/usr/bin/python

import suds

url = "http://www.tudominio.com/webservice.wsdl"

client = suds.client.Client(url)
respuesta = client.service.setInfo('valor1','valor2')

Fuente:
http://www.rz0r.net/2011/07/consumir-web-services-soap-facil-con-python-suds/

Instalación de Python Suds

Python-suds

Suds es un cliente SOAP basado en Python con el cual podemos consumir servicios web de forma fácil.

Para poder instalar suds debemos disponer de setuptools el cual es un kit de programas que permiten descargar, construir, instalar, desinstalar, actualizar y distribuir paquetes de Python, si no cuentas con setuptools en tu sistema lo instalas de la forma siguiente:

Instalacion de setuptools

wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz
tar -xzvf setuptools-0.6c11.tar.gz
cd setuptools-0.6c11
python setup.py build
python setup.py install

(Confirmación de la instalación)

Installed /usr/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg
Processing dependencies for setuptools==0.6c11
Finished processing dependencies for setuptools==0.6c11

Instalacion de python-suds

https://fedorahosted.org/releases/s/u/suds/python-suds-0.3.7.tar.gz

tar -xzvf python-suds-0.3.7.tar.gz
cd python-suds-0.3.7
python setup.py install

(Confirmación de la instalación)

Installed /usr/lib/python2.6/site-packages/suds-0.3.7-py2.6.egg
Processing dependencies for suds==0.3.7
Finished processing dependencies for suds==0.3.7

En la siguiente entrada vamos a ver la forma de como consumir un servicio web desde Python.

Fuente
http://pypi.python.org/pypi/setuptools
https://fedorahosted.org/suds/wiki/Documentation

Enviar email con Python y Gmail

Con ayuda de la librería smtplib enviar un e-mail desde Python es realmente sencillo, en el siguiente ejemplo establecemos una conexión a los servidores SMTP de Gmail para el envío de los mensajes.

#!/usr/bin/python

import smtplib

from email.MIMEText import MIMEText

emisor = "emisor@gmail.com"
receptor = "receptor@dominio.com"

# Configuracion del mensaje
mensaje = MIMEText("Este es el contenido del correo enviado desde Python")
mensaje['From']=emisor
mensaje['To']=receptor
mensaje['Subject']="Asunto del correo"

# Nos conectamos al servidor SMTP de Gmail
serverSMTP = smtplib.SMTP('smtp.gmail.com',587)
serverSMTP.ehlo()
serverSMTP.starttls()
serverSMTP.ehlo()
serverSMTP.login(emisor,"password")

# Enviamos el mensaje
serverSMTP.sendmail(emisor,receptor,mensaje.as_string())

# Cerramos la conexion
serverSMTP.close()

Fuente:
http://lesthack.com.mx/2010/10/14/enviar-e-mail-con-python/
http://chuwiki.chuidiang.org/index.php?title=Enviar_y_leer_email_con_python_y_gmail

Instalación de Python en el iPad

En esta ocasión voy a explicar la forma de como realizar la instalación del intérprete de Python en el iPad, el proceso lo vamos a realizar desde la linea de comandos, en tu tableta debes disponer del paquete APT (Advanced Packaging Tool).

Abrimos la terminal y con el usuario root procedemos a instalar mediante el comando siguiente:

# apt-get install python

Para iniciar el intérprete teclea la orden “python” asi:

user:- mobile$ python

Mediante esta forma estamos iniciando el intérprete en modo interactivo, es decir, en este modo espera a la orden siguiente con el indicador principal (“>>>“). Generalmente el intérprete inicia con un mensaje que contiene el número de versión instalada y las indicaciones para consultar mas información con los comandos siguientes:

>>> help() (Consultar ayuda)

>>> copyright() (Derechos de copia)

>>> license() (Información de la licencia)

Espero que esta información te haya sido de utilidad.

Conectar python con postgresql

Vamos a ver la forma de como conectar un programa escrito en Python con PostgreSQL, vamos a realizar la conexión mediante el módulo PyGreSQL (la instalación la puedes consultar aqui):

Creamos el archivo python que va a realizar la conexión:

#!/usr/bin/python

import pg

conn = pg.connect(dbname='db_name',user='user_name',passwd='password')

consulta = 'select * from table;'
resultado = conn.query(consulta)

conn.close()

print resultado

Asignamos permisos de ejecución a nuestro archivo .py

$ chmod +x nombre_programa.py

Ejecutamos:

$ python nombre_programa.py

Es muy común que la terminal te regrese el siguiente mensaje de error:

ImportError: libpq.so.5: cannot open shared object file: No such file or directory

Es porque dicha libreria no pudo ser localizada durante la ejecución.

Solución:

Agregar un enlace simbólico de dicha libreria en /usr/lib.

# ln -s /usr/local/pgsql/lib/libpq.so.5 /usr/lib/libpq.so.5

O bien

Abre el archivo /etc/ld.so.conf y agrega la ruta donde esta contenida la libreria:

/usr/local/pgsql/lib

Guarda los cambios y ejecuta ldconfig

#ldconfig

Nota: Para este ejemplo la libreria libpq.so.5 se encuentra localizada en mi SO en la ruta /usr/local/pgsql/lib en tu caso puede ser diferente.

Puedes consultar también toda la documentación de PyGreSQL interface.

Instalación de PyGreSQL en Linux

PyGreSQL es un módulo de Python que permite que un programa escrito en este lenguaje pueda establecer una conexión a PostgreSQL. La instalación la vamos a realizar desde las fuentes y sobre la plataforma Linux, los pasos son los siguientes:

Descargamos las fuentes desde http://www.pygresql.org/readme.html#where-to-get o directo desde la consola con el comando:

$ wget ftp://ftp.pygresql.org/pub/distrib/PyGreSQL.tgz

Descargado el Tarball lo descomprimes asi:

$ tar -xzvf PyGreSQL.tgz

El comando anterior crea un directorio llamado PyGreSQL-4.0 ingresa a él:

$ cd PyGreSQL-4.0

Construcción de PyGreSQL:

$ python setup.py build

Durante la construcción se hace referencia a pg_config que es una utileria que se encarga de devolver los parametros de configuración de la actual instalación de PostgreSQL que tenemos en nuestro sistema, pg_config generalmente se encuentra debajo de la ruta de los binarios de postgres, por lo que esta ruta deberá ser “visible” durante el proceso de construcción (build) de PyGreSQL.

En mi caso la consola me devolvió el siguiente mensaje de error durante la construcción:

Exception: pg_config tool is not available

La solución fue agregar a mi PATH la ruta donde se encuentra pg_config asi:

export PATH=$PATH:/usr/local/pgsql/bin

Y vuelve a ejecutar el comando $ python setup.py build

Instalación de PyGreSQL:

# python setup.py install

Listo, si la consola no te devuelve ningún mensaje de error, la instalación ha concluido satisfactoriamente.

Fuente:

http://www.pygresql.org/install.html#installing-from-source

Instalación de mod_python en Linux

Mod_python es un módulo de Apache Server que se encarga de integrar el lenguaje de programación Python en el servidor de Apache (más información aqui). La instalación de este módulo es realmente sencilla, como primer punto conseguimos las fuentes desde la página oficial del proyecto http://archive.apache.org/dist/httpd/modpython/, en mi caso descargue la versión 3.3.1 (mod_python-3.3.1.tgz).

PASOS PARA LA INSTALACION

Descomprime el tarball descargado:

$ tar -xzvf mod_python-3.3.1.tgz

Ingresa al directorio recien creado:

$ cd mod_python-3.3.1

a) Configurando la instalación:

$ ./configure --with-apxs=/usr/local/apache/bin/apxs

*Nota: En tu caso puede que sea diferente la ubicación del apxs de Apache, eso depende del path de instalación del Apache Server en tu sistema.

b) Compilación:

$ make

En mi caso en este paso la consola me devolvió el siguiente mensaje de error:

connobject.c: In function '_conn_read':
connobject.c:142:19: error: request for member 'next' in something not a structure or union
apxs:Error: Command failed with rc=65536
.
make[1]: *** [mod_python.so] Error 1
make[1]: Leaving directory `/usr/local/src/mod_python-3.3.1/src'
make: *** [do_dso] Error 2

La solución que encontré buscando en la red y que me funcionó fue esta:

Abre el archivo mod_python-3.3.1/src/connobject.c localiza la linea 142:

!(b == APR_BRIGADE_SENTINEL(b) ||

Modificala así:

!(b == APR_BRIGADE_SENTINEL(bb) ||

Guarda los cambios y vuelve a ejecutar el comando make.

Esta página me fué de gran ayuda:
http://forums.admon.org/linux-software/8162-mod_python-apache-[mod_python-so]-error-1-a.html

c) Instalación (como root)

# make install

Si la consola no te regresa ningún error procede a integrar el módulo configurando el archivo httpd.conf de Apache, abre dicho archivo y agrega lo siguiente:

LoadModule python_module      modules/mod_python.so

<Directory "/usr/local/apache/htdocs">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
    SetHandler mod_python
    PythonHandler mod_python.publisher
    PythonDebug On
</Directory>

d) Comprobando la instalación
Reinicia el servicio de Apache para aplicar las modificaciones en el archivo de configuración:

# /usr/local/apache/bin/apachectl restart

Crea un archivo con extension .py (por ejemplo test.py) con el siguiente contenido:

def index(req):
  return "Test, bienvenido Python!";

Guardalo en el directorio que configuraste para mod_python (para efectos de este manual /usr/local/apache/htdocs). Ahora abre una ventana de tu navegador web y escribe en la barra de dirección:

http://localhost/test.py

Si observas en la pantalla el mensaje de “Test, bienvenido Python!” significa que la instalación y configuración es correcta.

Enlace Corto:
http://wp.me/p13tD0-gr

Fuentes:
http://www.modpython.org/
http://www.howtoforge.com

Aprende python en 10 minutos

Te invito a que leas este tutorial sencillo y práctico con el cual aprenderas a programar en Python.

A %d blogueros les gusta esto: