Primero que nada, sí, ya he visto esto:
pip install mysql-python falla con EnvironmentError: mysql_config no encontrado
El problema
Estoy intentando 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, intenté desinstalarlo y obtuve esto:
Cannot uninstall requirement mysql-python, not installed
Siempre que intento instalarlo a través de:
sudo pip install MySQL-python
Recibo un error que indica:
raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found
Ya intenté ejecutar:
export PATH=$PATH:/usr/local/mysql/bin
pero eso no pareció ayudar, ya que volví a ejecutar el comando de instalación y aún fallaba.
¿Algunas ideas?
Tenga en cuenta que no estoy en un virtualenv.

EnvironmentErrore imprimir información de depuración más útil, comoos.getcwd(). también puede agregar unpdb.set_trace()y averiguar cosas.Respuestas:
Ok, bueno, antes que nada, déjame comprobar si estoy en la misma página que tú:
brew install mysqlexport PATH=$PATH:/usr/local/mysql/binpip install MySQL-Python(opip3 install mysqlclientsi usa Python 3)Si siguió todos esos pasos en el mismo orden y aún recibe un error, siga leyendo hasta el final; sin embargo, si no siguió estos pasos exactos, intente seguirlos desde el principio.
Entonces, siguió los pasos y aún recibe un error, bueno, hay algunas cosas que puede probar:
Intente ejecutar
which mysql_configdesde bash. Probablemente no se encuentre. Es por eso que la compilación tampoco lo encuentra. Intente correrlocate mysql_configy 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 del módulo, asumiendo que está buscando ese archivo en un lugar específico.En lugar de usar MySQL-Python, intente usar 'mysql-connector-python', se puede instalar usando
pip install mysql-connector-python. Puede encontrar más información sobre esto aquí y aquí .Busque manualmente la ubicación de 'mysql / bin', 'mysql_config' y 'MySQL-Python', y agregue todos estos a la variable de entorno $ PATH.
Si todas estas sugerencias no, entonces usted podría intentar instalar 'mysql' usando MacPorts, en cuyo caso el archivo 'mysql_config' en realidad se llama 'mysql_config5', y en este caso, usted tendría 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 instalar
python-devylibmysqlclient-devtambién ayudar, sin embargo, no sé si estos paquetes están disponibles en Mac OS.Note2: 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ías echarles un vistazo, para ver si ayudarían): 1 , 2 , 3 , 4 .
Esperaba haber ayudado y estaría feliz de saber si algo de esto funcionó o no. Buena suerte.
fuente
brew install mysqlarregló. Además, este comandowhich mysql-configno funcionó para mí, pero lowhich mysql_confighizo..bash_profilearchivo:export DYLD_LIBRARY_PATH=/usr/local/Cellar/mysql/5.7.9/lib/export PATH=$PATH:/usr/local/Cellar/mysql/5.7.20/binHabía estado depurando este problema desde siempre: 3 horas y 17 minutos. Lo que me molestó particularmente fue que ya tenía sql instalado en mi sistema a través de un trabajo uni anterior, pero pip / pip3 no lo reconocía. Estos hilos anteriores y muchos otros que busqué en Internet fueron útiles para aclarar el problema, pero en realidad no resolvieron las cosas.
RESPONDER
Pip busca binarios de mysql en el directorio Homebrew que se encuentra en relación con Macintosh HD @
así que descubrí 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: Ubíquelo en relación con Macintosh HD y cd
Paso 3: Una vez allí, abra 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)
Paso 4: Verá aproximadamente en la línea 112
Cambiar a
* notará que este archivo tiene acceso de solo lectura, por lo que si usa vim o neovim
Paso 5: Dirígete al directorio de inicio y edita el archivo .bash_profile
Luego
y añadir
al archivo y luego guardar
Paso 6: en relación con Macintosh HD, busque rutas y agréguelas
luego
y añadir
* nuevamente notará que este archivo tiene acceso de solo lectura, por lo que si usa vim o neovim
luego
luego actualice la terminal con sus cambios ejecutando
Finalmente
Y Viola. Recuerda que es una vibra.
fuente
libsinteriormysql_configya estaba como se describe en la sección "Cambiar a". Sin embargo, agregar el PATH aprivate/etcayudó a permitir que la instalación global demysqlclienteso fallara antes.Si no desea instalar mysql completo, podemos solucionar esto simplemente instalando mysqlclient
brew install mysqlclientUna vez que se complete cmd, le pedirá que agregue la siguiente línea a~/.bash_profile:echo 'export PATH="/usr/local/opt/mysql-client/bin:$PATH"' >> ~/.bash_profileCierre la terminal e inicie una nueva terminal y continúe con
pip install mysqlclientfuente
Estoy ejecutando Python 3.6 en MacOS Catalina. Mi problema fue que intenté instalar
mysqlclient==1.4.2.post1y sigue arrojando el error mysql_config no encontrado.Estos son los pasos que tomé para resolver el problema.
brew unlink mysql) -brew install mysql-connector-cbrew info openssl- esto le dará más información sobre lo que debe hacerse para poner openssl en PATHecho 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profileexport LDFLAGS="-L/usr/local/opt/openssl/lib"export CPPFLAGS="-I/usr/local/opt/openssl/include"fuente
También esto sucede cuando estaba instalando mysqlclient,
Como dijo el usuario 3429036,
fuente
Esta respuesta es para usuarios de MacOS que no instalaron desde
brewsino desde el oficial.dmg/.pkg. Ese instalador no puede editar suPATH, lo que hace que las cosas se salgan de la caja:mysql,mysqladmin,mysql_config, etc, no se puede encontrar, y como resultado:mysqlclientLo que tiene que hacer es agregar la
bincarpeta MySQL (generalmente/usr/local/mysql/binen suPATHagregando esta línea en su~/.bash_profilearchivo:export PATH="/usr/local/mysql/bin/:$PATH"Luego debe volver a cargar su
~/.bash_profilepara que el cambio entre en vigencia en su sesión de Terminal actual:source ~/.bash_profilemysqlclientSin embargo, antes de la instalación , debe aceptar la licencia de XcodeBuild:sudo xcodebuild -licenseSiga sus instrucciones para cerrar la sesión de su familia, después de lo cual debería poder instalar
mysqlclientsin problemas:pip install mysqlclientDespués de instalar eso, debe hacer una cosa más para corregir un error de tiempo de ejecución que se envía con MySQL ( Biblioteca dinámica
libmysqlclient.dylibno encontrada ), agregando esta línea a la ruta de las bibliotecas dinámicas de su sistema:export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/:$DYLD_LIBRARY_PATHfuente
sudo lsof -i :3306para ver el PID del proceso activo de MySQL y luego ejecutarlosudo -P <pid>para ver sus archivos abiertos. Esto surgió con/usr/local/mysql-8.0.18-macos10.14-x86_64/binlo que agregué$PATHy ¡ listo !Si ha instalado mysql usando Homebrew especificando una versión, mysql_config estaría presente aquí. - /usr/local/Cellar/[email protected]/5.6.47/bin
puede encontrar la ruta del bin sql usando el comando ls en el directorio / usr / local /
Agregue la ruta al perfil de bash como este.
fuente
El problema en mi caso fue que estaba ejecutando el comando dentro de un entorno virtual de Python y no tenía la ruta a / usr / local / mysql / bin, aunque lo puse en el archivo .bash_profile. Simplemente exportar la ruta en el entorno virtual funcionó para mí.
Para su información, sql_config reside dentro del directorio bin.
fuente
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:
fuente