Pregunta 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

Intento usar Django en un proyecto de Google App Engine. Sin embargo, no he podido comenzar porque el servidor no puede iniciarse correctamente debido a:

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

Hice algunas investigaciones 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

Cada vez que intento instalarlo a través de:

sudo pip install MySQL-python

Aparece un error que dice:

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

Ya he intentado ejecutar:

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

pero eso no pareció ayudarme, ya que ejecuté el comando de instalación nuevamente y todavía falló.

¿Algunas ideas?

Tenga en cuenta que no estoy en un vertualenv.


75
2017-08-23 07:08


origen


Respuestas:


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

  • Usted instaló Python
  • Lo hiciste brew install mysql
  • Lo hiciste export PATH=$PATH:/usr/local/mysql/bin
  • Y finalmente, lo hiciste pip install MySQL-Python

Si realizó todos los pasos en el mismo orden y todavía tiene un error, continúe leyendo hasta el final; si, sin embargo, no siguió estos pasos exactos, intente seguirlos desde el principio.

Entonces, seguiste los pasos y sigues teniendo un error, bueno, hay algunas cosas que puedes intentar:

  1. Prueba correr which mysql_config de bash. Probablemente no será encontrado. Es por eso que la compilación tampoco lo está encontrando. Prueba correr locate mysql_config y ver si algo vuelve. 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.

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

  3. Encuentre manualmente la ubicación de 'mysql / bin', 'mysql_config' y 'MySQL-Python', y agréguelos 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, tendrías que 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 python-dev y libmysqlclient-dev también me ayudó, sin embargo, no sé si estos paquetes están disponibles en Mac OS.

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

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

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


247
2017-08-25 17:19



Había estado depurando este problema para siempre - 3 horas 17 minutos. Lo que más me molestaba era que ya tenía instalado sql en mi sistema a través de mi trabajo anterior, pero pip / pip3 no lo reconocía. Estos hilos arriba y muchos otros que busqué en Internet fueron útiles para eludir el problema pero en realidad no resolvieron las cosas.

RESPONDER

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

usr/local/Cellar/

así que descubrí que esto requiere que hagas algunos cambios

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

Paso 2: ubíquelo relativo a Macintosh HD y cd

usr/local/mysql/bin

Paso 3: Una vez allí, abra la terminal y use un editor de texto de su elección. Soy un tipo neovim, así que escribí (no viene automáticamente con Mac ... otra historia para otro día)

nvim mysql_config

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

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

Cambiar a

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

* Notarás que este archivo tiene acceso de solo lectura así que si usas 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: relativo a Macintosh HD ubicar caminos y agregarlos

cd private/etc/

entonces

nvim paths

y añadir

/usr/local/mysql/bin

* volverá a notar que este archivo tiene acceso de solo lectura así que si usa vim o neovim

:w !sudo tee % 

entonces

cd ~

luego actualiza la terminal con tus cambios ejecutando

source .bash_profile

Finalmente

pip3 install mysqlclient

Y Viola. Recuerda que es un ambiente.


2
2018-06-21 15:48



También esto sucede cuando estaba instalando mysqlclient,

$ pip install mysqlclient

Como dijo user3429036,

$ brew install mysql

1
2017-08-08 14:36



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é. Así que puedo encontrar mysql_config en este directorio: / usr / local / mysql / bin

el siguiente paso es:

  1. PATH de exportación = $ PATH: / usr / local / mysql / bin
  2. pip instala MySQL-python == 1.2.5

-1
2018-04-19 10:03



El error fue:

$ pip install MySQL-python
sh: 1: mysql_config: not found

La instalación de libmysqlclient-dev fue la solución aquí:

$ sudo apt-get install libmysqlclient-dev
$ uname -a
Linux debian 3.2.0-4-amd64 #1 SMP Debian 3.2.73-2+deb7u1 x86_64 GNU/Linux

-8
2018-05-17 14:04