Estoy tratando de ejecutar un script Python en el servidor Linux al que estoy conectado a través de ssh. El script usa mysqldb. Tengo todos los demás componentes que necesito, pero cuando intento instalar mySQLdb a través de las herramientas de configuración de esta manera :,
python setup.py install
Me sale el siguiente informe de error relacionado con el mysql_config
comando.
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 y, de ser así, cómo lo resolvió / qué puedo hacer para instalar con éxito mysqldb?
python
linux
ssh
mysql-python
usuario904542
fuente
fuente
/usr/bin
está mal, esusr/local/my...
la respuesta de Thi.Respuestas:
mySQLdb es una interfaz de python para mysql, pero no es mysql en sí. Y aparentemente mySQLdb necesita el comando 'mysql_config', por lo que debe instalarlo primero.
¿Puede confirmar que instaló o no mysql, ejecutando "mysql" desde el shell? Eso debería darle 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
mysql-config está en un paquete diferente, que se puede instalar desde (nuevamente, suponiendo debian / ubuntu):
si está usando mariadb, la caída en reemplazo de mysql, luego ejecute
Referencia: https://github.com/JudgeGirl/Judge-sender/issues/4#issuecomment-186542797
fuente
sudo apt-get install mysql-server
ysudo apt-get install mysql-client
Estaba instalando
python-mysql
en Ubuntu 12.04 usandoPrimero tuve el mismo problema:
Esto funciono para mi
Entonces tuve este problema:
Entonces intenté con
Y luego fui feliz :)
fuente
(Específico para Mac OS X)
He intentado muchas cosas, pero este conjunto de comandos finalmente me funcionó.
mysql
brew unlink mysql
brew install mysql-connector-c
mkdir /usr/local/Cellar/lib/
brew reinstall openssl
( fuente )Actualización: en caso de que esto no funcione, @vinyll sugiere ejecutar
brew link mysql
antes del paso 8.fuente
brew info mysql
para obtener la ruta real / correcta a la instalación de mysql. Luego, para que elPATH
cambio persista, realice elexport PATH..
en su ~ / .bash_profile.brew link --overwrite mysql-connector-c
trabajos en mi Macbrew link mysql
paso anterior al 8 para que funcione.En Red Hat tuve que hacer
Entonces funcionó.
fuente
yum install MySQL-python
MySQL-python
como un paquete de Python, o está utilizando virtualenv, esto podría ayudar:yum install mysql-devel; venv/bin/pip install MySQL-python
.sudo yum install mariadb-devel
primero, luego puede instalar mysqlclient porpip install mysqlclient
yum install mysql-devel
Centos 8Lo siguiente funcionó para mí en Ubuntu 12.04 LTS:
Aunque funcionó, seguí adelante para hacer lo siguiente:
fuente
Recibí el mismo error al intentar instalar
mysql-python
.Así es como lo arreglé.
El problema era que el instalador no pudo encontrar mysql_config en la ruta predeterminada. Ahora puede ... y funcionó ...
Espero que esto ayude.
Gracias.
fuente
Solucioné este problema con los siguientes pasos:
fuente
default-libmysqlclient-dev
, ya que ellibmysqlclient-dev
paquete normal no tiene candidato de instalación.Los comandos (también mysql) mPATH pueden faltar.
export PATH=$PATH:/usr/local/mysql/bin/
fuente
Paso 1: - Instala Python3 y Python3-dev Both
Paso 2: - Instala Python y Mysql Connector
Paso 3: - Instalar el cliente MySQL Python
Esto resolverá su problema
fuente
Si está en macOS y ya está instalado [email protected] a través de brew install:
brew install mysql-connector-c
brew unlink [email protected]
brew link --overwrite --dry-run [email protected]
primero, para ver qué enlaces simbólicos se sobrescribenbrew link --overwrite --force [email protected]
para sobrescribir realmente enlaces simbólicos relacionados con mysql con [email protected]pip install mysqlclient
fuente
Lo arreglé instalando libmysqlclient:
fuente
El
MySQL-python
paquete está utilizando elmysql_config
comando para aprender sobre lamysql
configuración en su host. Su anfitrión no tiene elmysql_config
comando.El paquete de bibliotecas de desarrollo MySQL (MySQL-devel-xxx) de dev.mysql.com proporciona este comando y las bibliotecas que necesita el paquete MySQL-python. Los
MySQL-devel
paquetes se encuentran en el área de descarga del servidor de la comunidad. Los nombres de los paquetes de la biblioteca de desarrollo MySQL comienzan conMySQL-devel
y varían según la versión de MySQL y la plataforma Linux (p.MySQL-devel-5.5.24-1.linux2.6.x86_64.rpm
. .)Tenga en cuenta que no necesita instalar el servidor mysql.
fuente
El paquete libmysqlclient-dev está en desuso, así que use el siguiente comando para solucionarlo.
El paquete libmysqlclient-dev no está disponible, pero otro paquete hace referencia a él. Esto puede significar que falta el paquete, ha quedado obsoleto o solo está disponible desde otra fuente
fuente
En centos 7 esto funciona para mí:
fuente
En mi máquina Fedora 23 tuve que ejecutar lo siguiente:
fuente
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
fuente
Creo que las siguientes líneas se pueden ejecutar en la terminal
Este directorio mysql_config es para el servidor zend en MacOSx. Puedes hacerlo para Linux como las siguientes líneas
Este es el directorio predeterminado de Linux MySQL.
fuente
Tuve estos problemas y los resolví si agregué un enlace simbólico a
mysql_config
.Había instalado mysql con homebrew y vi esto en la salida.
Dependiendo de cómo lo haya conseguido
mysql
, estará en diferentes lugares. En mi caso, una/usr/local/Cellar/mysql
vez que sepa dónde está, debería poder hacer un enlace simbólico a donde Python lo está buscando.
/usr/local/mysql
Esto funcionó para mí.
fuente
Yo tuve el mismo problema. Lo resolví siguiendo este tutorial para instalar Python con python3-dev en Ubuntu 16.04:
Y ahora puede configurar su entorno virtual:
fuente
Necesita instalar el paquete python-dev:
fuente
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 utiliza el servidor.
Búsqueda de python-mysql en la base de datos del paquete ubuntu
Alguna información adicional:
Desde el archivo README de mysql-python -
Red Hat Linux .............
MySQL-python está preempaquetado en Red Hat Linux 7.xy versiones posteriores. 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
_ ::O usa Synaptic.
.. _
python-mysqldb
: http://packages.debian.org/python-mysqldbUbuntu ......
Lo mismo 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 actualizarse más pronto que tarde.
fuente
Este método es solo para aquellos que saben que Mysql está instalado pero todavía 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 ocurre principalmente si ha realizado la instalación a través de .dmg Mac Package o si ha instalado alguna ruta personalizada. La forma más fácil y documentada por MySqlDB es cambiar el sitio.cfg . Encuentre el mysql_config que probablemente esté en / usr / local / mysql / bin / y cambie la variable, es decir, mysql_config como se muestra a continuación y vuelva a ejecutar la instalación. No olvide descomentarlo quitando "#"
Cambiar debajo de la línea
a
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
fuente
Hasta ahora, todas las soluciones (Linux) requieren
sudo
derechos de root para instalar. Aquí hay una solución si no tiene derechos de root y sin ellossudo
. (nosudo apt install ...
):dpkg -x libmysqlclient-dev_<version tag>.deb .
Esto extraerá una carpeta llamadausr
.Enlace simbólico
./usr/bin/mysql_config
a un lugar que se encuentra 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.
fuente
Para macOS Mojave, se requería una configuración adicional, para que los compiladores encuentren openssl, es posible que deba configurar:
fuente
Creo que la forma más conveniente de resolver este problema en 2020 es usar otro paquete de Python. No necesitamos instalar ningún otro software binario.
Prueba esto
pip install mysql-connector-python
y entonces
fuente
Encontré el mismo problema, acabo de agregar la ruta donde * mysql_config * residía en la variable de entorno PATH y funcionó para mí.
fuente
sudo apt-get build-dep python-mysqldb
instalará todas las dependencias para construir el paquete desde PIP / easy_installfuente
Como el error real es
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 incluir
fuente
Sólo tipo:
Esto resolverá estos problemas.
fuente
sudo apt-get install libmysqlclient-dev
En CentOS 7, se deben hacer las siguientes cosas:
fuente