Mac OS X – EnvironmentError: mysql_config no encontrado

En primer lugar, sí, ya he visto esto:

pip install mysql-python falla con EnvironmentError: mysql_config no encontrado

El problema

Estoy tratando de usar Django en un proyecto de Google App Engine. Sin embargo, no he podido comenzar porque el servidor no se inicia correctamente debido a:

ImproperlyConfigured("Error loading MySQLdb module: %s" % e) ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb 

Investigué un poco y todo apuntaba a tener que instalar Mysql-python, ya que aparentemente no está en mi sistema. De hecho, traté de desinstalarlo y obtuve esto:

 Cannot uninstall requirement mysql-python, not installed 

Siempre que realmente intente instalar a través de:

 sudo pip install MySQL-python 

Me sale un error indicando:

 raise EnvironmentError("%s not found" % (mysql_config.path,)) EnvironmentError: mysql_config not found 

Ya he intentado correr:

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

pero eso no pareció ayudar, ya que volví a ejecutar el comando de instalación y todavía fallaba.

¿Algunas ideas?

Tenga en cuenta que no estoy en un virtualenv.

Ok, bueno, primero que nada, déjame verificar si estoy en la misma página que tú:

  • Instalaste python
  • Hiciste brew install mysql
  • export PATH=$PATH:/usr/local/mysql/bin
  • Y finalmente, hiciste pip install MySQL-Python (o pip3 install mysqlclient si usas python 3)

Si realizó todos esos pasos en el mismo orden, y aún recibió un error, siga leyendo hasta el final, si, sin embargo, no siguió estos pasos exactos, inténtalos, y sígalos desde el principio.

Entonces, siguió los pasos, y todavía está recibiendo un error, bueno, hay algunas cosas que podría intentar:

  1. Intente ejecutar which mysql_config de bash. Probablemente no será encontrado. Es por eso que la construcción no lo encuentra tampoco. Intente ejecutar locate mysql_config y vea si algo regresa. 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, asumiendo que está buscando un lugar específico para ese archivo.

  2. En lugar de usar MySQL-Python, intente usar ‘mysql-connector-python’, puede instalarse usando pip install mysql-connector-python . Más información sobre esto se puede encontrar aquí y aquí .

  3. Busque manualmente la ubicación de ‘mysql / bin’, ‘mysql_config’ y ‘MySQL-Python’, y agregue todo esto a la variable de entorno $ PATH.

  4. Si todos los pasos anteriores fallan, entonces podrías intentar instalar ‘mysql’ usando MacPorts, en cuyo caso el archivo ‘mysql_config’ se llamaría ‘mysql_config5’, y en este caso, deberías hacer esto después de instalar: export PATH=$PATH:/opt/local/lib/mysql5/bin . Puedes encontrar más detalles aquí .

Nota 1: he visto a algunas personas decir que la instalación de python-dev y libmysqlclient-dev también ayudó, sin embargo, no sé si estos paquetes están disponibles en Mac OS.

Nota2: Además, asegúrese de intentar ejecutar los comandos como root.

Recibí mis respuestas de (además de mi cerebro) en estos lugares (tal vez podrías echarles un vistazo, para ver si ayudaría): 1 , 2 , 3 , 4 .

Esperaba haber ayudado, y me encantaría saber si algo de esto funcionó o no. Buena suerte.

Había estado depurando este problema para siempre – 3 horas 17 minutos. Lo que me molestó particularmente fue que ya tenía instalado SQL en mi sistema a través de uni work anterior, pero pip / pip3 no lo reconocía. Estos hilos de arriba y muchos otros que rastreé en Internet ayudaron a aclarar el problema, pero en realidad no resolvieron las cosas.

RESPONDER

Pip está buscando binarios de mysql en el Directorio de Homebrew que se encuentra en relación a Macintosh HD @

 usr/local/Cellar/ 

Así que encontré que esto requiere que hagas algunos cambios.

paso 1: descargue MySql si aún no lo ha hecho https://dev.mysql.com/downloads/

Paso 2: Localízalo en relación a Macintosh HD y cd.

 usr/local/mysql/bin 

Paso 3: Una vez que haya abierto el terminal y use un editor de texto de su elección, yo mismo soy un chico neovim, así que escribí (no viene automáticamente con Mac … otra historia para otro día)

 nvim mysql_config 

Paso 4: Verás aproximadamente en la línea 112

 # Create options libs="-L$pkglibdir" libs="$libs -l " 

Cambiar a

 # Create options libs="-L$pkglibdir" libs="$libs -lmysqlclient -lssl -lcrypto" 

* notará que este archivo tiene acceso de solo lectura, por lo que si usa vim o neovim

 :w !sudo tee % 

Paso 5: Diríjase al directorio raíz y edite el archivo .bash_profile

 cd ~ 

Entonces

 nvim .bash_profile 

y añadir

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

al archivo luego guardar

Paso 6: en relación con Macintosh HD, ubique las rutas y añádalas

 cd private/etc/ 

entonces

 nvim paths 

y añadir

 /usr/local/mysql/bin 

* volverá a notar que este archivo tiene acceso de solo lectura, por lo que si usa vim o neovim

 :w !sudo tee % 

entonces

 cd ~ 

luego actualiza el terminal con tus cambios ejecutando

 source .bash_profile 

Finalmente

 pip3 install mysqlclient 

Y Viola. Recuerda que es una vibra.

También esto sucede cuando estaba instalando mysqlclient,

 $ pip install mysqlclient 

Como dijo el usuario 3429036,

 $ brew install mysql 

Si no desea instalar mysql completo, podemos solucionarlo simplemente instalando mysqlclient brew install mysqlclient Una vez que se complete el cmd, se le pedirá que agregue la siguiente línea a ~/.bash_profile :

echo 'export PATH="/usr/local/opt/mysql-client/bin:$PATH"' >> ~/.bash_profile

Cierre el terminal e inicie el nuevo terminal y continúe con pip install mysqlclient

Instalar brew o apt-get tampoco es fácil para mí, así que descargué mysql a través de: https://dev.mysql.com/downloads/connector/python/ , lo instalé. Entonces puedo encontrar mysql_config en este directorio: / usr / local / mysql / bin

el siguiente paso es:

  1. export PATH = $ PATH: / usr / local / mysql / bin
  2. pip instalar MySQL-python == 1.2.5