Cómo Conectarse a Oracle desde Python en Ubuntu

Luego de luchar (y bastante) para acceder a una BD Oracle desde Python, me propuse escribir los pasos a realizar así quedan para la posteridad. Tengo entendido que el único driver que funciona bien para conectarse es el cx_Oracle, así que voy a tratar de explicar cómo se instala todo desde el comienzo, usando Ubuntu Hardy 8.04. Actualización: este método aún sirve sobre Ubuntu Lucid 10.04 y cx_Oracle 5.03. 1. Instalación del Oracle InstantClient Primero, hay que descargar el Oracle InstantClient para la plataforma Linux que se utilice (x86, x86_64, Power, Itanium, etc.) desde acá (es necesario registrarse, pero es gratuito). Los paquetes necesarios son “Instant Client Package - Basic Lite” y “Instant Client Package - SDK”. cx_Oracle debería funcionar con cualquiera de las versiones 9.x y 10.x, así que vamos a bajar la última versión de la serie 10.x (que en este momento es la 10.2.0.4). ...

October 21, 2008 · 7 min · Marcelo

Análisis de Performance de un Script Python

Hola! De toda la pila de mails que recibo, leo y analizo (cuando puedo) de PyAr, me interesó mucho uno de este hilo, referido al lenguaje DOT y su utilización práctica en el desarrollo en general. Básicamente, se comentó lo útil que es graficar la salida de la ejecución de un profiler, con este generador de lenguaje DOT basado en el log de cualquiera de los 3 módulos de profiling de Python [1][2]: Gprof2Dot. Brevemente, lo probé con un script que tengo para armar un archivo de texto con cierto formato, resultado de un query a una base de datos. Ejecuté esto, tal como dice el sitio de la herramienta: ...

October 11, 2008 · 2 min · Marcelo

Apache 3.0 (?)

En mi carpeta de documentos “para leer” (o sea, pendientes) tenía una presentación que bajé hace algún tiempo de la última ApacheCon realizada en Amsterdam, en Abril de este año. Dicha presentación está muy buena, para bajarla y leerla atentamente: cuenta qué se cocina para la próxima gran versión de Apache, nuestro Servidor Web amigo :-) En fin, parece que Apache 3.0 se renovará completamente, y aunque aclara que lo expresado no está 100% consensuado y aprovado por la comunidad, Roy Fielding es miembro de Apache Fundation, esta charla fue la keynote del evento… entonces, por qué no tomarlo como muy probable que ocurra lo que nos cuenta? ...

June 7, 2008 · 2 min · Marcelo

Dell vende hardware con Ubuntu en Latinoamérica!

Me parece que voy a ir guardando monedita por monedita… Dell está vendiendo a partir de ahora computadoras (la notebook Inspiron 1525 y la PC de escritorio 530MT) con Ubuntu 7.10 instalado! A diferencia de algunas cadenas de electrodomésticos que venden PCs “con Linux” con la firme intención de que luego el cliente instale Windows sin licencia (ya que no están configuradas y ni siquiera todo el hardware funciona), en este caso ocurre lo contrario. ...

February 22, 2008 · 2 min · Marcelo

Closed Source vs. Open Source: Cambio de Etapa?

Leyendo esto (“Microsoft quiere ser más abierto”), extraigo: “Antes que nada, aclarar que Microsoft no va a abrir el código de sus programas, como ya he visto que algún periódico ha anunciado. Dicho esto, el gigante de Redmond ha dado doy un paso importante en pos de la interoperabilidad entre sus principales aplicaciones y el resto de competidores, especialmente los de código abierto.” […] " El primero es asegurar la conexión de sus principales productos con terceras aplciaciones. Para ello, publicarán documentación completa sobre las APIs y los protocolos de comunicación. Esta documentación será gratuita. Indicarán, además, cuales de los protocolos están cubiertos por patentes, comprometiéndose a licenciar esas patentes a un precio reducido a aplicaciones comerciales. En el caso de aplicaciones de código abierto, podrán utilizar estos protocolos, aunque tengan patente, sin miedo a que Microsoft les denuncie por ello." ...

February 22, 2008 · 2 min · Marcelo

Un par de links... (Vi y DabbleDB)

Bueno, tengo ganas de postear un par de links interesantes: “Why, oh WHY, do those #?@! nutheads use vi? Tengo que confesarlo: Uso el Glorioso VIM para la gran mayoría de las cosas que hago con texto (programar, configurar servidores, etc.). Pero al comienzo de mi camino en Linux, viniendo yo de los editores “comunes” (Shift para seleccionar, Ctrl+C/Ctrl+V para Copiar/Pegar, etc.) el Vi/Vim me parecía una cosa completamente anticuada y sin sentido tener que apretar ‘i’ para escribir (un asco, bah). Gracias a Gabi, aprendí que el camino del Vi es un camino de ida y terminé adoptándolo por su enorme capacidad para editar y manipular el texto, y la verdad es que hoy en día siento que es irremplazable para un montón de cosas. Sin embargo, todavía me cuesta explicar en unos pocos minutos por qué “bancarse” su curva de aprendizaje (ver imagen abajo, je), y más me cuesta aún hacer un resumen corto de las características que más me gustan (de las que conozco). Este artículo me lo resuelve, y está muy bueno! ...

January 5, 2008 · 2 min · Marcelo

Un buen ejemplo de código PyGTK: Decibel

Decibel Audio Player es un programa liviano, sencillo, no orientado a tener miles de funciones ( Amarok, les suena? :-D ), sino sólo a reproducir música de una lista. La verdad que las capturas de pantalla (“everybody loves screenshots!”) pintaban prometedoras, y cuando leí que estaba hecho en Python + GTK, bajé el fuente a ver qué onda[1]… Y la verdad que me está gustando lo que estoy leyendo. La parte de módulos me parece bárbara, da gusto leerla: para hacer un módulo propio (aka ‘plugin’), uno hereda de una clase “Modulo” (también hay un ThreadedModule) y se registra a los eventos que quiere recibir, puede emitir eventos a los demás, etc. Las pantallas están hechas con Glade, el código está bien comentado (y bien identado, es Python! :-D ), el tamaño del proyecto y del fuente es manejable (al usar Glade, casi no se ve código de manejo de ventanas), usa semáforos, locks, está bien modularizado y orientado a objetos, etc. ...

October 14, 2007 · 2 min · Marcelo

Una Revista de Python: Python Magazine

Me hago eco de un sitio sobre python, comentando que salió la primera edición de la PyMag - Python Magazine, (la primera revista exclusivamente sobre Python?) :-) En su página de “Acerca de Nosotros”, comenta que “es una revista mensual exclusivamente dedicada a Python, que tendrá artículos de gran profundidad, evaluaciones de productos, tips, mucho código e ideas con un único objetivo en mente: ayudarlo a mejorar su manejo de Python y aplicarlos en su trabajo diario. PyMag es una revista técnica hecha por programadores para programadores.” ...

October 5, 2007 · 2 min · Marcelo

Taller de Python en la UNLu

Hola! Les cuento de que tuve el honor de que la gente del CODES (Centro Organizado de Estudiantes de Sistemas de la Universidad Nacional de Luján) más la del UnluX (del cual soy parte), me invitó a llevar adelante un taller de programación Python para los alumnos de los primeros años de sistemas de dicha Universidad. Como no tuve tiempo de armar ninguna presentación como para tener de “apunte”, le pedí a Facundo Batista el permiso para utilizar las que él armó para las 7JRSL de Córdoba. Creo que sólo le modifiqué la primera página y el fondo, sin embargo, acá están para descargar. ...

September 9, 2007 · 2 min · Marcelo

Youtube usa Python

En esta página hay un poquito de detalle sobre la arquitectura que utiliza YouTube, que sirve alrededor de 100.000.000 (sí, cien millones) de videos por día. Adivinen qué? Usa Linux + un Application Server escrito en Python. :-D Psyco es un “acelerador” de python, digamos que compila “al vuelo” el código que interpreta python y lo convierte a código nativo de la plataforma (como si se hubiera escrito en C, digamos). Si a ellos les da resultados, se podría probar para casos donde se necesite performance. ...

August 14, 2007 · 1 min · Marcelo