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ó.
-
brew install mysql
# install mysql -
brew unlink mysql
-
brew install mysql-connector-c
-
export PATH=/usr/local/Cellar/mysql/8.0.11/bin:$PATH
# update path y configura la carpeta mysql bin en path -
sudo ln -s /usr/local/Cellar/mysql/8.0.11/lib/libmysqlclient.21.dylib /usr/local/Cellar/lib/libmysqlclient.21.dylib
# create symlink -
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 ...
):
- Descargue el archivo .deb del archivo libmysqlclient-dev, por ejemplo, desde este espejo
- Navegue hasta el archivo descargado y ejecute
dpkg -x libmysqlclient-dev_<version tag>.deb .
Esto extraerá una carpeta llamadausr
. - 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 - 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
Para Alpine Linux:
$ apk add mariadb-dev mariadb-client mariadb-libs
MariaDB es un reemplazo directo para MySQL y se convirtió en el nuevo estándar a partir de Alpine 3.2. Ver https://bugs.alpinelinux.org/issues/4264
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