martes, 24 de abril de 2018

Librerias de Python, Uso de PIP, MySQLdb

Introducir módulos

Una de las principales ventajas de utilizar Python es el número de librerías o bibliotecas de código excelentes que están amplia y fácilmente disponibles y que te pueden ahorrar escribir mucho código, o simplemente realizar una tarea particular de la manera más sencilla (como crear un archivo CSV o recopilar información de una página web de forma automática -webscraping). Cuando buscas en Google soluciones a problemas, encuentras ejemplos de código que utilizan librerías de las cuales no habías escuchado hablar antes. ¡No tengas miedo! Una vez que estas bibliotecas están instaladas en tu computadora, puedes utilizarlas importándolas al principio de tu código. Puedes importar tantas librerías como quieras, por ejemplo:
import csv
import requests
import kmlwriter
import pprint
Para los nuevos usuarios de Python puede resultar un tanto intimidante descargar e instalar por primera vez módulos externos. Hay muchas maneras de hacerlo (aumentando así la confusión); esta lección explica una de las formas más sencillas y la más común de instalar módulos de Python.
El objetivo aquí es instalar software en tu computadora que puede descargar e instalar automáticamente los módulos de Python. Utilizaremos el programa llamado pip.
Nota: En Python 3.4, pip está incluido en la instalación por defecto. Hay muchas razones por las que no debes tener todavía esta versión; en caso de que no la tengas, estas instrucciones deben ayudar.

Instrucciones para Mac y Linux

Según la documentación de pip, podemos descargar una secuencia de comandos (script) Python para instalarlo. En una Mac o Linux debemos instalar pip con línea de comandos usando curl, que es una orden que descarga el script de Perl y que permite la instalación de pip.
curl -O https://bootstrap.pypa.io/get-pip.py
Una vez que descargaste el archivo get-pip.py, necesitas ejecutarlo con el intérprete de Python. Sin embargo, si intentas ejecutar el script con Python de esta manera:
python get-pip.py
La secuencia de comandos del script seguramante falle. Esto se debe a que no tiene permisos para actualizar ciertos directorios en tu sistema de archivos para evitar que scripts aleatorios puedan cambiar archivos importantes e instalarte virus. En este caso, y en todos los casos en que necesites dar permiso a un script seguro para escribir en las carpetas del sistema, puedes utilizar el comando sudo (abreviatura de “Super User DO”) delante del comando Python, como:
sudo python get-pip.py

Instrucciones para Windows

Como en los sistemas operativos anteriores, la manera más fácil de instalar pip es utilizando el programa de Python llamado get-pip.py, que puedes descargar aquí. Cuando abres este enlace te puede asustar el revoltijo horrible que te espera. Por favor, no te espantes. Solamente usa tu navegador para guardar esta página con su nombre por defecto, que es get-pip.py. Guarda el archivo en tu directorio de Python para que sepas dónde encontrarlo.
Una vez guardes el archivo, necesitas ejecutarlo, lo cual puedes hacer de dos maneras. Si prefieres utilizar tu intérprete de Python, solamente haz click con el botón derecho sobre el archivo get-pip.py y selecciona “abrir con” y luego selecciona el intérprete de Python que suelas utilizar.
Si prefieres instalar pip utilizando la terminal de línea de comandos, navega al directorio en el que pusiste Python y obtén get-pip.py. Para este ejemplo asumimos el directorio python27, así que usa el comando C:\>cd python27. Una vez que estés en este directorio, ejecuta el comando:
python get-pip.py to install pip
Si buscas más información consulta la página de StackOverflow que parece estar actualizada de manera regular.

Instalar módulos de Python

Ahora que ya tienes pip, resultará fácil instalar los módulos de Python dado que el programa hace todo el trabajo por ti. Cuando encuentres un módulo que quieras utilizar, generalmente tendrá documentación o instrucciones de instalación que incluyan el comando pip necesario, como:
pip install requests
pip install beautifulsoup4
pip install simplekml
 
 

Trabajando con bases de datos MySQL en Python

No abordaremos aquí, conocimientos básicos sobre MySQL, uso, instalación ni configuración. Sin perjuicio de lo anterior, haré una breve introducción.

Structured Query Language (SQL)

SQL es el lenguaje de consulta estructurado utilizado para el acceso a bases de datos relacionales. Si bien SQL como lenguaje, posee ciertos estándares, el lenguaje de consulta en sí, varía para cada base de datos en particular, siendo el tratado en este ejemplo, el correspondiente a MySQL.

MySQL

MySQL es un sistema de gestión de bases de datos relacionales, libre y que puede ser instalado en múltiples plataformas.
Para seguir el capítulo de esta guía, será necesario instalar MySQL. Para ello los invito a quienes no posean MySQL instalado, que visiten el sitio de descargas de MySQL y la documentación de MySQL.

MySQLdb

MySQLdb es una interfaz para trabajar con bases de datos MySQL desde Python. El capítulo Nº7 de esta guía, se ha indicado como lectura recomendada, el Manual oficial de MySQLdb el cual sugiero que se lea tras finalizar este capítulo.
Instalación de MySQLdb
Para interactuar desde Python con MySQL a través de MySQLdb, es necesario instalar dicho módulo. El nombre del paquete es python-mysqldb (por si desean instalarlo desde los repositorios), o sino, pueden descargar un tarball desde http://sourceforge.net/projects/mysql-python/. Allí mismo, encontrarán el archivo README con toda la información para instalarlo.

Introducción a bases de datos con Python

En el caso particular de Python, el acceso a bases de datos se encuentra definido a modo de estándar en las especificaciones de DB-API (por curiosidad, puedes visitar Python Database API specification).
Esto significa, que para utilizar cualquier base de datos, siempre se deberán seguir los mismos pasos:
  1. Importar el módulo de conexión (en nuestro caso, utilizaremos MySQLdb)
    import MySQLdb
  2. Conectarse a la base de datos

    db_host = 'localhost'
    usuario = 'root'
    clave = 'clave'
    base_de_datos = 'mi_basededatos'
    db = MySQLdb.connect(host=db_host, user=usuario, passwd=clave,
    db=base_de_datos)
  3. Abrir un cursor
    cursor = db.cursor()
  4. Ejecutar una consulta

    mi_query = "SELECT campo FROM tabla WHERE campo='valor' ORDER BY campo"
    cursor.execute(mi_query)
  5. Si se está agregando, editando o eliminando un registro: hacer un commit a la base de datos
    db.commit()
  6. Si se están leyendo datos: obtener todos los registros hallados
    cursor.fetchall() u obtener solo el primero:
    cursor.fetchone()
  7. Cerrar el cursor abierto
    cursor.close()
 

No hay comentarios:

Publicar un comentario