Este post va para todos aquellos que tengan problemas con la instalación de MySQLdb la librería para acceder a bases de Datos MySQL desde Python
Requisitos
Tener instalada la herramienta pkgutil de Blastwave
*Tener instalado python2.6
*Tener instalado gcc
*Tener instalado y funcionando correctamente MySQL
* Esto se puede realizar facilmente con la herramienta pkgutil
Antecedentes
Todo usuario curioso vera que existe en el repo de blastwave un paquete llamado algo asi como "pymysql", pues este es nuestro MySQLdb, entonces, Porque no usar ese ??
Pues la verdad no se, : ) , bueno al menos no se porque la gente de blastwave, a mi muy humilde opinión tiene tan descuidados los paquetes que conciernen a python, he tenido problema con la libreria para que apache lea archivos .py ( mod_python ) y con MySQL, lo que he notado es que python se instala en:
/opt/csw/lib/python2.6/
javascript:void(0)
Por consiguiente todas las librerias python deberian estar en:
/opt/csw/lib/python2.6/site-packages
Pues no es así, los paquetes se instalan en:
/opt/csw/lib/python/site-packages
El porque de esto, no los se, y la gente de blastwave no me dio mucha pelota en el IRC, así que ni modo.
No crean tampoco que no agregue dichas carptetas al PYTHONPATH, si lo hice pero creo que me dio errores...
COMPILANDO MySQLdb EN SOLARIS 10
Bueno es muy fácil, bueno ya que te sale lo ves muy fácil:
1. Descargan y descomprimen MySQLdb desde acá
2. Dentro de MySQLdb editan el archivo setup_posix.py
vi setup_posix.py
2.1 Ahi cambian esto:
removable_compile_args = [ compiler_flag(f) for f in "ILl" ]
Por esto:
removable_compile_args = [ compiler_flag(f) for f in "ILlmf" ]
Con esto ya debe compilar e instalar de forma correcta:
python setup.py build
python setup.py install
3. Agregando variables de entorno necesarias
LD_LIBRARY_PATH=/opt/csw/lib
export LD_LIBRARY_PATH
Esto lo deberán agregar a su archivo .profile para evitar futuros problemas
Eso es todo:
Python 2.6.2 (r262:71600, Aug 11 2009, 07:00:48)
[GCC 4.0.2] on sunos5
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
>>> MySQLdb.__version__
'1.2.3c1'
>>>
3 comentarios:
this was just what i needed after looking for an answere for two days. thanks so much
You are a piece of work my friend.
muchas gracias
Sitting Bull
Una preguntilla (si aún te acuerdas).
Con que compilador/versión compilaste el mysqldb-python?
Me salen un monton de errores cuando intenta compilar el _mysql.c
La máquina donde intento compilar es una sunfire (ultrasparc III)
Gracias!
Publicar un comentario