jueves, 4 de octubre de 2012

Python y MySQL en OS X Mountain Lion

Primero debe descargar el MySQL para Mac e instalarlo.

Posteriormente deberá descargar la utilidad de http://sourceforge.net/projects/mysql-python/, también para los amantes de la terminal pueden utilizar los siguientes comandos:

$ wget http://superb-dca2.dl.sourceforge.net/project/mysql-python/mysql-python-test/1.2.4b4/MySQL-python-1.2.4b4.tar.gz 

$ tar -xf MySQL-python-1.2.4b4.tar.gz

Una vez desempaquetado el archivo se debe editar el archivo de nombre site.cfg ubicando la línea que dice:

#mysql_config = /usr/local/bin/mysql_config

por:

mysql_config = /usr/local/mysql/bin/mysql_config

Es importante quitar el símbolo # para que deje de ser comentario y por otro lado verificar que el archivo mysql_config se encuentre en ese directorio como en mi caso. Una vez realizado lo anterior ahora se procede a correr el comando:

$ sudo python setup.py build 

Si no marco ningún warning o algún error quiere decir que vamos bien, ahora ejecutamos el siguiente comando:

$ sudo python setup.py install 

Finalmente corremos el siguiente comando:

$ sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib 


Este último comando debe arreglar un problema que se genera al querer utilizar la librería MySQLdb.
-----------
Traceback (most recent call last):
File "", line 1, in
File "/Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/MySQLdb/__init__.py", line 19, in
import _mysql
ImportError: dlopen(/Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib Referenced
Referenced from: /Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/_mysql.so Reason
Reason: image not found
En este sitio fue donde encontre como arreglarlo:
(http://stackoverflow.com/questions/13440147/mysqldb-for-python-2-7-on-osx-10-8-2-and-both-are-64-bit)

-----------


Para ver si quedo bien podemos entrar nuevamente a la consola de python con el comando $ python, y luego teclear:

>>> import MySQLdb

Si no aparecen errores entonces quedo listo !

Espero te sea de utilidad.



Referencias:
http://luauf.com/2008/04/24/conectar-python-con-mysql/
https://groups.google.com/forum/?fromgroups=#!topic/django-es/_NRYFHVSgtA
http://nisthaonweb.com/blog/2012/02/setting-up-django-with-mysql-with-and-without-mamp/


NOTA:

Este post fue modificado el 17/01/2013 debido a que si se utilizaba la línea
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH

Se generaba un error en OSX ML con la siguiente leyenda:
dyld: DYLD_ environment variables being ignored because main executable (/usr/bin/sudo) is setuid or setgid

1 comentario:

  1. amigo una pregunta, en mi caso q uso mac OSX y xampp q ruta debo poner para ejecutar el ultimo paso q muestra error de image not found

    ResponderEliminar