2010-10-10 33 views
17

Estoy tratando de instalar MySQLdb para Python 2.6 de acuerdo con estas instrucciones:instalar MySQLdb para Python 2.6 en OSX

http://www.tutorialspoint.com/python/python_database_access.htm

Cuando llego a este paso: $ python setup.py build me sale el error:

users-MacBook-Pro:MySQL-python-1.2.3 user$ sudo python setup.py build 
sh: mysql_config: command not found 
Traceback (most recent call last): 
    File "setup.py", line 15, in 
    metadata, options = get_config() 
    File "/my_crawler/MySQL-python-1.2.3/setup_posix.py", line 43, in get_config 
    libs = mysql_config("libs_r") 
    File "/my_crawler/MySQL-python-1.2.3/setup_posix.py", line 24, in mysql_config 
    raise EnvironmentError("%s not found" % (mysql_config.path,)) 
EnvironmentError: mysql_config not found 

he instalado MySQL y añadido a mi bash

¿Qué estoy haciendo mal?

Respuesta

9

No está buscando 'mysql', está buscando 'mysql_config'. Intenta ejecutar 'which mysql_config' desde bash. Probablemente no será encontrado. Es por eso que la compilación tampoco lo está encontrando. Intenta ejecutar 'locate mysql_config' y comprueba si aparece algo. La ruta a este binario debe estar en la variable de entorno $ PATH de su shell, o debe estar explícitamente en el archivo setup.py para el módulo suponiendo que está buscando en algún lugar específico para ese archivo.

Si ha instalado MySQL de las fuentes en/usr/local, creo que el archivo se encuentra en/usr/local/mysql/bin/mysql_config locales

+0

Gracias, por alguna razón, mi enlace sym no funcionó originalmente. – ian

4

verificación de la site.cfg en su carpeta MySQLdb. Debería estar en la raíz.
Editar la site.cfg a la ruta correcta de "mysql_config"
encontré mina en "/ usr/local/mysql/bin /"

Una vez hecho esto usted debe ser capaz de ejecutar la acumulación & instalar sin ningún cuestiones.
Recuerde que debe ser root o ejecutar todos los comandos como "sudo"

14

Mientras PlanetUnknown está en el camino correcto con su/su respuesta, espero que este conjunto más explícita de los pasos será útil:

El problema tiene que ver con MySQLdb sin saber dónde buscar el archivo mysql_config.

Así que, vamos a encontrarlo para MySQLdb y luego poner la ubicación en su archivo site.cfg para que pueda encontrarlo a partir de ahora.

La OP es en un Mac, por lo que abrir el terminal y encontrar el archivo site.cfg:

sudo find/-name 'site.cfg' 

espere unos segundos y se debe escupir la ruta absoluta, lo haremos vi ese archivo en un segundo . Pero en primer lugar, encontrar el archivo del mysql_config:

sudo find/-name 'mysql_config' 

Antes de editar el archivo site.cfg, asegúrese de que tiene la ubicación de mysql_config en el portapapeles.

Una vez que tenga site.cfg abra en un editor, busque la línea que especifica la ruta para mysql_config. Está apuntando al camino equivocado o simplemente ha comentado todos juntos. De cualquier manera, pegue la ruta correcta desde su portapapeles en lugar de la ruta existente.

Ahora debería tener una línea en ese archivo que dice algo así como:

mysql_config = /usr/local/path/to/mysql_config 

Guarde el archivo.

Debería estar listo para funcionar ahora, así que inténtelo de nuevo.

+0

¡Gracias! Usted describió y solucionó mi problema perfectamente. –

+1

No hay problema, en realidad encontré algunos errores comunes al configurar Django, que analizo en detalle aquí - http://joshbranchaud.com/2013/02/10/Errors-While-Setting-Up-Django.html – jbranchaud

+0

de la publicar arriba, tiene que ejecutar esto si todavía no funciona '$ sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib/usr/lib/libmysqlclient.18.dylib' –

15
export PATH=$PATH:/usr/local/mysql/bin/ 

debería solucionar el problema para usted ya que el sistema no es capaz de encontrar el archivo mysql_config.

+0

He instalado MySQL en OSX sin MySQLStartupItem.pkg y creo que debido a que mysql_config no está en $ PATH, esta es la única solución para mí. –

+0

¡Esta es la solución! – Rafay