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

Este es el error que recibo

(mysite)zjm1126@zjm1126-G41MT-S2:~/zjm_test/mysite$ pip install mysql-python Downloading/unpacking mysql-python Downloading MySQL-python-1.2.3.tar.gz (70Kb): 70Kb downloaded Running setup.py egg_info for package mysql-python sh: mysql_config: not found Traceback (most recent call last): File "", line 14, in  File "/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py", line 15, in  metadata, options = get_config() File "setup_posix.py", line 43, in get_config libs = mysql_config("libs_r") File "setup_posix.py", line 24, in mysql_config raise EnvironmentError("%s not found" % (mysql_config.path,)) EnvironmentError: mysql_config not found Complete output from command python setup.py egg_info: sh: mysql_config: not found Traceback (most recent call last): File "", line 14, in  File "/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py", line 15, in  metadata, options = get_config() File "setup_posix.py", line 43, in get_config libs = mysql_config("libs_r") File "setup_posix.py", line 24, in mysql_config raise EnvironmentError("%s not found" % (mysql_config.path,)) EnvironmentError: mysql_config not found ---------------------------------------- Command python setup.py egg_info failed with error code 1 Storing complete log in /home/zjm1126/.pip/pip.log (mysite)zjm1126@zjm1126-G41MT-S2:~/zjm_test/mysite$ pip install mysql-python Downloading/unpacking mysql-python Running setup.py egg_info for package mysql-python sh: mysql_config: not found Traceback (most recent call last): File "", line 14, in  File "/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py", line 15, in  metadata, options = get_config() File "setup_posix.py", line 43, in get_config libs = mysql_config("libs_r") File "setup_posix.py", line 24, in mysql_config raise EnvironmentError("%s not found" % (mysql_config.path,)) EnvironmentError: mysql_config not found Complete output from command python setup.py egg_info: sh: mysql_config: not found Traceback (most recent call last): File "", line 14, in  File "/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py", line 15, in  metadata, options = get_config() File "setup_posix.py", line 43, in get_config libs = mysql_config("libs_r") File "setup_posix.py", line 24, in mysql_config raise EnvironmentError("%s not found" % (mysql_config.path,)) EnvironmentError: mysql_config not found ---------------------------------------- Command python setup.py egg_info failed with error code 1 Storing complete log in /home/zjm1126/.pip/pip.log 

¿Qué puedo hacer para resolver esto?

Parece que mysql_config no se encuentra en su sistema o el instalador no pudo encontrarlo. Asegúrese de que mysql_config esté realmente instalado.

Por ejemplo, en Debian / Ubuntu debes instalar el paquete:

 sudo apt-get install libmysqlclient-dev 

Tal vez el mysql_config no esté en su camino, será el caso cuando compile por sí mismo la suite mysql.

Actualización: para las versiones recientes de debian / ubuntu (a partir de 2018) es

 sudo apt install default-libmysqlclient-dev 

Ejecutando Mac OSX Mountain Lion, simplemente ejecuté esto en la terminal para arreglarlo:

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

Esta es la solución más rápida que encontré: la agrega a la ruta, pero creo que es mejor agregarla permanentemente (es decir, agregarla a /etc/paths ) si planea instalar MySQL-python en otro entorno.

 apt-get install libmysqlclient-dev python-dev 

Parecía hacer el truco.

Puede haber varias respuestas para el problema anterior, a continuación se muestra una solución agregada.

Para Ubuntu:

 $ sudo apt update $ sudo apt install python-dev $ sudo apt install python-MySQLdb 

Para CentOS:

 $ yum install python-devel mysql-devel 

Puedes usar el MySQL Connector / Python

Instalación a través de PyPip

 pip install mysql-connector-python 

Puede encontrar más información en el blog de anuncios de MySQL Connector / Python 1.0.5 beta .

En Launchpad hay un buen ejemplo de cómo agregar, editar o eliminar datos con la biblioteca.

Para usuarios de centos :

yum install -y mysql-devel python-devel python-setuptools

entonces

pip install MySQL-python


Si esta solución no funciona , imprima el error de comstackción gcc como:
_mysql.c:29:20: error: Python.h: No such file or directory

Necesitas especificar la ruta de Python.h , así:
pip install --global-option=build_ext --global-option="-I/usr/include/python2.6" MySQL-python

Si está en MAC instale esto globalmente

 brew install mysql 

luego exportar camino como este

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

por ultimo globalmente o en tu venv

 pip install MySQL-Python 

Estaba intentando instalar mysql-python en una instancia de Amazon EC2 Linux y tuve que instalar estos:

 yum install mysql mysql-devel mysql-common mysql-libs gcc 

Pero entonces tengo este error:

 _mysql.c:29:20: fatal error: Python.h: No such file or directory 

Así que instalé:

 yum install python-devel 

Y eso hizo el truco.

OS X Mavericks

Debido a los cambios en las herramientas de desarrollo de xx de osx y xcode, puede obtener el error en la instalación

 clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future] 

por lo tanto use:

 sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install mysql-python 

Para cualquier persona que use MariaDB en lugar de MySQL, la solución es instalar el paquete libmariadbclient-dev y crear un enlace simbólico al archivo de configuración con el nombre correcto.

Por ejemplo, esto funcionó para mí:

 ln -s /usr/bin/mariadb_config /usr/bin/mysql_config 

Prueba sudo apt-get build-dep python-mysqldb

Debes instalar el mysql primero:

 yum install python-devel mysql-community-devel -y 

Entonces puedes instalar mysqlclient :

 pip install mysqlclient 

para mariadb install lib mariadb client-dev en lugar de libmysqlclient-dev

 sudo apt-get install libmariadbclient-dev 

A veces el error depende de la causa real. tuvimos un caso donde mysql-python se instaló a través del paquete debian python-mysqldb.

un desarrollador que no sabía esto, ejecutó accidentalmente pip uninstall mysql-python y luego no se recuperó con pip install mysql-python dio el error anterior.

pip uninstall mysql-python había destruido el contenido del paquete debian y, por supuesto, pip install mysql-python falló porque el paquete debian no necesitaba ningún archivo dev.

la solución correcta en ese caso fue apt-get install --reinstall python-mysqldb que restauró mysql-python a su estado original.

Secuencia a seguir.

 pip install mysqlclient sudo apt-get install python3-dev libmysqlclient-dev pip install configparser sudo cp /usr/lib/python3.6/configparser.py /usr/lib/python3.6/ConfigParser.py 

Luego intenta instalar el MYSQL-python de nuevo. Eso funciono para mi

Tenía un problema similar al intentar instalar en OS X Server 10.6.8. Esto es lo que tenía que hacer. Utilizando:

MySQL-python 1.2.4b4 (fuente) MySQL-5.6.19 (instalador binario) Python 2.7 (instalador binario) NOTA: Instalando en virtualenv …

Descomprima la fuente, abra ‘distrib_setup.py’ y edite DEFAULT_VERSION para usar la última versión de las herramientas de distribución, de esta forma:

 DEFAULT_VERSION = "0.6.49" 

Salvar. Abra el archivo ‘site.cfg’ y elimine el comentario de la ruta a mysql_config para que se parezca (refiérase a su propia ruta a mysql_config):

 # The path to mysql_config. # Only use this if mysql_config is not on your PATH, or you have some weird # setup that requires it. mysql_config = /usr/local/mysql/bin/mysql_config 

Ahora limpie, compile y haga no fallará con el error ‘mysql_config’ no encontrado. Espero que esto ayude a alguien más tratando de hacer uso de sus viejos servicios 🙂

La ruta de sudo no conoce la ruta local … entra en modo de superusuario, agrega la ruta e instálala desde allí.

 sudo su export PATH=$PATH:/usr/local/mysql/bin/ pip install mysql-python exit 

Y estás listo y funcionando en OSX. Ahora tienes un python global actualizado.

si instala MySQL-python en su entorno virtual, debe verificar la versión pip, si la versión es anterior a 9.0.1, actualícela

 pip install --upgrade pip 

Tuve el mismo problema en el contenedor Terraform: light. Se basa en alpine.

Ahí tienes que instalar mariadb-dev con:

 apk add mariadb-dev 

Pero ese no es suficiente porque también se pierden todas las demás dependencias:

 apk add python2 py2-pip gcc python2-dev musl-dev