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.
EnvironmentError
e 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 mysql
export PATH=$PATH:/usr/local/mysql/bin
pip install MySQL-Python
(opip3 install mysqlclient
si 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_config
desde bash. Probablemente no se encuentre. Es por eso que la compilación tampoco lo encuentra. Intente correrlocate 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 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-dev
ylibmysqlclient-dev
tambié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 mysql
arregló. Además, este comandowhich mysql-config
no funcionó para mí, pero lowhich mysql_config
hizo..bash_profile
archivo:export DYLD_LIBRARY_PATH=/usr/local/Cellar/mysql/5.7.9/lib/
export PATH=$PATH:/usr/local/Cellar/mysql/5.7.20/bin
Habí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
libs
interiormysql_config
ya estaba como se describe en la sección "Cambiar a". Sin embargo, agregar el PATH aprivate/etc
ayudó a permitir que la instalación global demysqlclient
eso fallara antes.Si no desea instalar mysql completo, podemos solucionar esto simplemente instalando mysqlclient
brew install mysqlclient
Una 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_profile
Cierre la terminal e inicie una nueva terminal y continúe con
pip install mysqlclient
fuente
Estoy ejecutando Python 3.6 en MacOS Catalina. Mi problema fue que intenté instalar
mysqlclient==1.4.2.post1
y 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-c
brew 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_profile
export 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
brew
sino 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:mysqlclient
Lo que tiene que hacer es agregar la
bin
carpeta MySQL (generalmente/usr/local/mysql/bin
en suPATH
agregando esta línea en su~/.bash_profile
archivo:export PATH="/usr/local/mysql/bin/:$PATH"
Luego debe volver a cargar su
~/.bash_profile
para que el cambio entre en vigencia en su sesión de Terminal actual:source ~/.bash_profile
mysqlclient
Sin embargo, antes de la instalación , debe aceptar la licencia de XcodeBuild:sudo xcodebuild -license
Siga sus instrucciones para cerrar la sesión de su familia, después de lo cual debería poder instalar
mysqlclient
sin problemas:pip install mysqlclient
Despué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.dylib
no 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_PATH
fuente
sudo lsof -i :3306
para 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/bin
lo que agregué$PATH
y ¡ 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