para mysqldb mysqlclient python pip mysql-python

python - mysqldb - pip install mysqlclient



pip instala mysql-python falla con EnvironmentError: mysql_config no encontrado (18)

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 "<string>", line 14, in <module> File "/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py", line 15, in <module> 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 "<string>", line 14, in <module> File "/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py", line 15, in <module> 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 "<string>", line 14, in <module> File "/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py", line 15, in <module> 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 "<string>", line 14, in <module> File "/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py", line 15, in <module> 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?


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


A veces el error depende de la causa real. tuvimos un caso en el que 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.


Debes instalar el mysql primero:

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

Entonces puedes instalar mysqlclient :

pip install mysqlclient


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.


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.


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


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 compilació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


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


Prueba sudo apt-get build-dep python-mysqldb


Puede que haya 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



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


Su ruta sudo no conoce su ruta local ... ingrese en modo superusuario, agregue la ruta e instálela 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.


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 el código fuente, abra ''distrib_setup.py'' y edite DEFAULT_VERSION para usar la última versión de las herramientas de distribución, así:

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 antiguos xserves :-)


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


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

sudo apt-get install libmariadbclient-dev


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


apt-get install libmysqlclient-dev python-dev

Parecía hacer el truco.