x86_64 with oserror not mysql_config mac found failed error python linux ssh mysql-python

with - mysql_config no se encuentra al instalar la interfaz python de mysqldb



mysql_config not found pip (24)

(Específico para mac) He intentado muchas cosas, pero este conjunto de comandos finalmente me funcionó.

  1. brew install mysql # install mysql
  2. brew unlink mysql
  3. brew install mysql-connector-c
  4. export PATH=/usr/local/Cellar/mysql/8.0.11/bin:$PATH # update path y configura la carpeta mysql bin en path
  5. sudo ln -s /usr/local/Cellar/mysql/8.0.11/lib/libmysqlclient.21.dylib /usr/local/Cellar/lib/libmysqlclient.21.dylib # create symlink
  6. pip install mysqlclient # instalar mysql-client finalmente

Estoy intentando obtener un script de Python para ejecutarse en el servidor linux al que estoy conectado a través de ssh. El script utiliza mysqldb. Tengo todos los demás componentes que necesito, pero cuando intento instalar mySQLdb a través de setuptools como:

python setup.py install

Obtengo el siguiente informe de error relacionado con el comando mysql_config .

sh: mysql_config: command not found Traceback (most recent call last): File "setup.py", line 15, in <module> metadata, options = get_config() File "/usr/lib/python2.5/MySQL-python-1.2.3/setup_posix.py", line 43, in get_config libs = mysql_config("libs_r") File "/usr/lib/python2.5/MySQL-python-1.2.3/setup_posix.py", line 24, in mysql_config raise EnvironmentError("%s not found" % (mysql_config.path,)) EnvironmentError: mysql_config not found

¿Alguien más ha encontrado este error? En caso afirmativo, ¿cómo lo resolvió / qué puedo hacer para instalar mysqldb correctamente?


Como error real es

gcc ... -I/usr/include/python2.7 ... _mysql.c:29:20: error: Python.h: No such file or directory

y Si no puede instalar los paquetes python-dev o python-devel, puede descargar el archivo con la versión necesaria de las fuentes de python desde http://hg.python.org/ y colocar los archivos de encabezados en la carpeta adecuada para incluirlos


Creo que las siguientes líneas pueden ejecutarse en el terminal.

sudo ln -s /usr/local/zend/mysql/bin/mysql_config /usr/sbin/

Este directorio mysql_config es para el servidor zend en MacOSx. Puedes hacerlo por linux como las siguientes lineas.

sudo ln -s /usr/local/mysql/bin/mysql_config /usr/sbin/

Este es el directorio predeterminado de Linux MySQL.


El paquete MySQL-python está utilizando el comando mysql_config para conocer la configuración de mysql en su host. Su host no tiene el comando mysql_config .

El paquete de bibliotecas de desarrollo de MySQL (MySQL-devel-xxx) de dev.mysql.com proporciona este comando y las bibliotecas que necesita el paquete MySQL-python. Los paquetes MySQL-devel se encuentran en el área de descarga - servidor de comunidad. Los nombres de los paquetes de la biblioteca de desarrollo de MySQL comienzan con MySQL-devel y varían según la versión de MySQL y la plataforma Linux (por ejemplo, MySQL-devel-5.5.24-1.linux2.6.x86_64.rpm ).

Tenga en cuenta que no es necesario instalar el servidor mysql.


En Red Hat tuve que hacer

sudo yum install mysql-devel gcc gcc-devel python-devel sudo easy_install mysql-python

Entonces funcionó.


En centos 7 esto me funciona:

yum install mariadb-devel pip install mysqlclient


En mi máquina Fedora 23 tuve que ejecutar lo siguiente:

sudo dnf install mysql-devel


Encontré el mismo problema, solo agregué la ruta donde * mysql_config * residía en la variable de entorno PATH y funcionó para mí.


Estaba instalando python-mysql en Ubuntu 12.04 usando

pip install mysql-python

Primero tuve el mismo problema:

Not Found "mysql_config"

Esto funciono para mi

$ sudo apt-get install libmysqlclient-dev

Entonces tuve este problema:

... _mysql.c:29:20: error fatal: Python.h: No existe el archivo o el directorio compilación terminada. error: command ''gcc'' failed with exit status 1

Entonces lo intenté con

apt-get install python-dev

Y luego fui feliz :)

pip install mysql-python Installing collected packages: mysql-python Running setup.py install for mysql-python building ''_mysql'' extension gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Dversion_info=(1,2,4,''beta'',4) -D__version__=1.2.4b4 -I/usr/include/mysql -I/usr/include/python2.7 -c _mysql.c -o build/temp.linux-x86_64-2.7/_mysql.o -DBIG_JOINS=1 -fno-strict-aliasing -g In file included from _mysql.c:44:0: /usr/include/mysql/my_config.h:422:0: aviso: se redefinió "HAVE_WCSCOLL" [activado por defecto] /usr/include/python2.7/pyconfig.h:890:0: nota: esta es la ubicación de la definición previa gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro build/temp.linux-x86_64-2.7/_mysql.o -L/usr/lib/x86_64-linux-gnu -lmysqlclient_r -lpthread -lz -lm -lrt -ldl -o build/lib.linux-x86_64-2.7/_mysql.so Successfully installed mysql-python Cleaning up...


Este método es solo para aquellos que saben que Mysql está instalado pero aún no se puede encontrar mysql_config. Esto sucede si la instalación de Python no puede encontrar mysql_config en la ruta de su sistema, lo que sucede principalmente si ha realizado la instalación a través del paquete .dmg Mac o se ha instalado en alguna ruta personalizada. La forma más fácil y documentada de MySqlDB es cambiar el sitio.cfg . Encuentre el archivo mysql_config que probablemente se encuentre en / usr / local / mysql / bin / y cambie la variable, es decir, mysql_config como se muestra a continuación, y ejecute la instalación nuevamente. No olvides anular el comentario eliminando "#"

Cambiar por debajo de la línea

"#mysql_config = / usr / local / bin / mysql_config"

a

"mysql_config = / usr / local / mysql / bin / mysql_config"

Dependiendo de la ruta en su sistema.

Por cierto, utilicé la instalación de Python después de cambiar el sitio.cfg

sudo /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python setup.py install


Hasta ahora, todas las soluciones (Linux) requieren derechos de sudo o root para instalar. Aquí hay una solución si no tiene derechos de root y sin sudo . (No hay instalación de sudo apt install ... ):

  1. Descargue el archivo .deb del archivo libmysqlclient-dev, por ejemplo, desde este espejo
  2. Navegue hasta el archivo descargado y ejecute dpkg -x libmysqlclient-dev_<version tag>.deb . Esto extraerá una carpeta llamada usr .
  3. Enlace simbólico ./usr/bin/mysql_config a algún lugar que se encuentre en su $PATH : ln -s `pwd` / usr / bin / mysql_config FOLDER_IN_YOUR_PATH
  4. Ahora debería poder encontrar mysql_config

Probado en Ubuntu 18.04.


He solucionado este problema con los siguientes pasos:

sudo apt-get install libmysqlclient-dev sudo apt-get install python-dev sudo python setup.py install


Lo arreglé instalando libmysqlclient:

sudo apt-get install libmysqlclient16-dev


Lo siguiente me funcionó en Ubuntu 12.04 LTS:

apt-get install libmysqlclient-dev python-dev

A pesar de que funcionó, seguí adelante para hacer lo siguiente:

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


Los comandos (mysql también) mPATH pueden faltar.

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


Necesitas instalar el paquete python-dev:

sudo apt-get install python-dev



Recibí el mismo error al intentar instalar mysql-python .

Así es como lo arreglé.

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

El problema fue que el instalador no pudo encontrar mysql_config en la ruta predeterminada. Ahora puede ... y funcionó ...

15 warnings generated. clang -bundle -undefined dynamic_lookup -Wl,-F. build/temp.macosx-10.8-intel-2.7/_mysql.o -L/usr/local/mysql/lib -lmysqlclient_r -lz -lm -lmygcc -o build/lib.macosx-10.8-intel-2.7/_mysql.so -arch x86_64 Successfully installed mysql-python Cleaning up...

Espero que esto ayude.

Gracias.


Sólo tipo:

$ sudo apt-get install python-dev $ venv/bin/pip install MySQL-python

Esto resolverá estos problemas.


Tenía estos problemas y se resolvía si agregaba un enlace simbólico a mysql_config .

Instalé mysql con homebrew y lo vi en la salida.

Error: The `brew link` step did not complete successfully

Dependiendo de cómo tengas mysql estará en diferentes lugares. En mi caso /usr/local/Cellar/mysql
Una vez que sepa dónde está, debería poder colocar un enlace simbólico hacia donde Python lo está buscando. /usr/local/mysql

Esto funcionó para mí.

ln -s /usr/local/Cellar/mysql/<< VERSION >>/bin/mysql_config /usr/local/mysql/bin/mysql_config


mySQLdb es una interfaz de python para mysql, pero no es mysql en sí. Y al parecer mySQLdb necesita el comando ''mysql_config'', por lo que necesita instalarlo primero.

¿Puede confirmar que hizo o no instaló mysql, ejecutando "mysql" desde el shell? Eso debería darte una respuesta que no sea "mysql: comando no encontrado".

¿Qué distribución de linux estás usando? Mysql está preempaquetado para la mayoría de las distribuciones de Linux. Por ejemplo, para debian / ubuntu, instalar mysql es tan fácil como

sudo apt-get install mysql-server

mysql-config está en un paquete diferente, que se puede instalar desde (nuevamente, asumiendo debian / ubuntu):

sudo apt-get install libmysqlclient-dev

Si está usando mariadb, la sustitución de mysql, luego ejecute

sudo apt-get install libmariadbclient-dev


sudo apt-get install libmysqlclient-dev sudo apt-get install python-dev sudo apt-get install MySQL-python

No obstante, también debe instalar python-dev, los paquetes como MySQL-python se compilan desde la fuente. Los paquetes pythonx.x-dev contienen los archivos de encabezado necesarios para vincularlos con python. ¿Por qué instalar numpy requiere python-dev en Kubuntu 12.04?


sudo apt-get install python-mysqldb

Python 2.5? Parece que está utilizando una versión muy antigua de Ubuntu Server (¿Hardy 8.04?), Confirme qué versión de Linux usa el servidor.

búsqueda en Python-mysql en la base de datos de paquetes de Ubuntu

Alguna información adicional:

Desde el README de mysql-python -

Red Hat Linux .............

MySQL-python está preempaquetado en Red Hat Linux 7.xy más reciente. Esto incluye Fedora Core y Red Hat Enterprise Linux. También puede crear sus propios paquetes RPM como se describe anteriormente.

Debian GNU / Linux ................

Empaquetado como python-mysqldb _ ::

# apt-get install python-mysqldb

O utilizar Synaptic.

.. _ python-mysqldb : http://packages.debian.org/python-mysqldb

Ubuntu ......

Igual que con Debian.

Nota al pie: Si realmente está utilizando una distribución de servidor anterior a Ubuntu 10.04, entonces no tiene soporte oficial, y debería actualizar más temprano que tarde.


sudo apt-get build-dep python-mysqldb instalará todas las dependencias para compilar el paquete desde PIP / easy_install