config mysql introuvable lors de l'installation de l'interface Python mysqldb

j'essaie de faire tourner un script Python sur le serveur linux auquel je suis connecté via ssh. Le script utilise mysqldb. J'ai tous les autres composants dont j'ai besoin, mais lorsque j'essaie d'installer mySQLdb via setuptools:,

python setup.py install

je reçois le rapport d'erreur suivant lié à la commande 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

quelqu'un d'autre A rencontré cette erreur et si oui, comment l'avez-vous résolu/que puis-je faire pour réussir à l'installer mysqldb?

344
demandé sur user904542 2011-09-19 22:00:25

23 réponses

mySQLdb est une interface python pour mysql, mais ce n'est pas mysql lui-même. Et apparemment mySQLdb a besoin de la commande 'mysql_config', donc vous devez l'installer en premier.

pouvez-vous confirmer que vous avez installé ou non mysql lui-même, en lançant" mysql " depuis le shell? Cela devrait vous donner une réponse autre que "mysql: commande introuvable".

quelle distribution linux utilisez-vous? Mysql est préemballé pour la plupart des distributions linux. Pour par exemple, pour debian / ubuntu, installer mysql est aussi simple que

sudo apt-get install mysql-server

mysql-config est dans un paquet différent, qui peut être installé à partir de (Encore une fois, en supposant debian / ubuntu):

sudo apt-get install libmysqlclient-dev

si vous utilisez mariadb, la livraison en remplacement de mysql, puis exécuter

sudo apt-get install libmariadbclient-dev
488
répondu amarillion 2016-07-25 17:46:48

j'installais python-mysql sur Ubuntu 12.04 en utilisant

pip install mysql-python

J'ai D'abord eu le même problème:

Not Found "mysql_config"

Cela a fonctionné pour moi

$ sudo apt-get install libmysqlclient-dev

alors j'ai eu ce problème:

...
_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

puis j'ai essayé avec

apt-get install python-dev

Et puis j'ai été heureux :)

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...
153
répondu xtornasol512 2014-12-16 17:17:56

ci-dessous travaillé pour moi sur Ubuntu 12.04 LTS:

apt-get install libmysqlclient-dev python-dev

bien que cela ait fonctionné, j'ai quand même continué à faire ce qui suit:

export PATH=$PATH:/usr/local/mysql/bin/
27
répondu nasowah 2013-08-11 16:48:11

j'ai eu la même erreur en essayant d'installer mysql-python .

C'est comme ça que je l'ai réparé.

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

le problème était que l'installateur ne pouvait pas trouver le mysql_config dans le chemin par défaut. Maintenant, il peut ..et cela a fonctionné..

 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...

Espérons que cette aide.

Merci.

23
répondu Mayank R Jain 2012-10-03 12:06:52

Sur Red Hat que j'avais à faire

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

ça a marché.

22
répondu Elliott 2015-02-09 16:24:09

j'ai corrigé ce problème avec les étapes suivantes:

sudo apt-get install libmysqlclient-dev
sudo apt-get install python-dev
sudo python setup.py install
17
répondu zhaozhi 2012-11-02 14:34:58

les commandes (mysql aussi) mPATH pourraient être manquantes.

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

16
répondu samwize 2012-08-04 02:41:14

Je l'ai corrigé en installant libmysqlclient:

sudo apt-get install libmysqlclient16-dev
8
répondu thoslin 2012-02-29 05:37:28

le paquet MySQL-python utilise la commande mysql_config pour connaître la configuration mysql sur votre hôte. Votre hôte n'a pas la commande mysql_config .

the MySQL development libraries package (MySQL-devel-xxx) from dev.mysql.com fournit cette commande et les bibliothèques nécessaires au paquet MySQL-python. Les paquets MySQL-devel se trouvent dans la zone download - community server. Les noms de paquets de la bibliothèque de développement MySQL commencent avec MySQL-devel et varier basé sur la version MySQL et la plate-forme linux (par exemple MySQL-devel-5.5.24-1.linux2.6.x86_64.rpm .)

Notez que vous n'avez pas besoin d'installer un serveur mysql.

7
répondu John Livingston 2018-02-08 09:05:29

sur ma machine Fedora 23 j'ai dû exécuter ce qui suit:

sudo dnf install mysql-devel
5
répondu Raptor 2016-05-21 03:25:50

Pour Alpine Linux:

$ apk add mariadb-dev mariadb-client mariadb-libs

MariaDB est un drop-in en remplacement de MySQL et est devenu le nouveau standard à partir de Alpine 3.2. Voir https://bugs.alpinelinux.org/issues/4264

5
répondu aboutaaron 2016-12-29 20:01:17

je pense que les lignes suivantes peuvent être exécutées sur terminal

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

ce répertoire mysql_config est pour Zend server sur MacOSx. Vous pouvez le faire pour linux comme suit les lignes

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

c'est le répertoire mysql par défaut de linux.

4
répondu hkulekci 2012-12-28 07:25:38

(Spécifique à mac), j'ai essayé beaucoup de choses, mais ces commandes enfin fonctionné pour moi.

  1. brew install mysql # installer 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 et définir le dossier bin mysql à path
  5. sudo ln -s /usr/local/Cellar/mysql/8.0.11/lib/libmysqlclient.21.dylib /usr/local/Cellar/lib/libmysqlclient.21.dylib # créer un lien symbolique
  6. pip install mysqlclient # install mysql-client finally
4
répondu Pulkit Pahwa 2018-07-03 07:52:08

vous devez installer le paquet python-dev:

sudo apt-get install python-dev
3
répondu ebarch 2012-11-19 21:04:26

j'ai eu ce problème et résolu si en ajoutant un lien symbolique à mysql_config .

j'avais installé mysql avec homebrew et j'ai vu cela dans la sortie.

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

selon comment vous avez obtenu mysql il sera dans différents endroits. Dans mon cas /usr/local/Cellar/mysql

Une fois que vous savez où il se trouve, Vous devriez pouvoir créer un lien symbolique vers l'endroit où python le cherche. /usr/local/mysql

This a travaillé pour moi.

ln -s /usr/local/Cellar/mysql/<< VERSION >>/bin/mysql_config   /usr/local/mysql/bin/mysql_config
3
répondu Schechter 2015-11-26 00:31:40

cette méthode est seulement pour ceux qui savent que Mysql est installé mais mysql_config ne peut toujours pas être trouvé. Cela se produit si python install ne peut pas trouver mysql_config dans votre chemin système, ce qui se produit surtout si vous avez fait l'installation via .dmg Mac Package ou installé sur un chemin personnalisé. La manière la plus simple et documentée par MySqlDB est de changer le site .cfg . Trouver le mysql_config qui est probablement dans / usr / local / mysql / bin/ et changer la variable à savoir mysql_config comme ci-dessous et exécuter l'installation à nouveau. N'oubliez pas de le dés-commenter en supprimant " # "

changement au-dessous de la ligne

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

à

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

selon le chemin votre système.

par la façon dont j'ai utilisé Python installer après avoir changé le site .cfg

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

2
répondu Ahsan.Amin 2013-12-09 11:00:23

sudo apt-get install python-mysqldb

Python 2.5? On dirait que vous utilisez une très ancienne version de serveur Ubuntu (Hardy 8.04?)- Veuillez confirmer la version Linux utilisée par le serveur.

python-mysql recherche sur ubuntu package de base de données

quelques informations supplémentaires:

D'après le README de mysql-python -

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

MySQL-python est préemballé dans Red Hat Linux 7.x et plus récent. Ce comprend Fedora Core et Red Hat Enterprise Linux. Vous pouvez également construisez vos propres paquets RPM comme décrit ci-dessus.

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

emballé sous python-mysqldb _::

# apt-get install python-mysqldb

ou utilisez synaptique.

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

Ubuntu ......

identique à Debian.

note de bas de page: si vous utilisez vraiment une distribution serveur plus ancienne Qu'Ubuntu 10.04 alors vous n'avez plus de support officiel, et vous devriez mettre à jour le plus tôt possible.

1
répondu Gary 2011-09-20 14:54:09

j'ai rencontré le même problème, j'ai juste ajouté le chemin où *mysql_config* résidait dans la variable D'environnement PATH et cela a fonctionné pour moi.

1
répondu flyer 2012-12-14 06:26:25

sudo apt-get build-dep python-mysqldb installera toutes les dépendances pour construire le paquet à partir de PIP / easy_install

1
répondu Thomas Grainger 2013-01-03 17:47:01

comme erreur réelle est

gcc ... -I/usr/include/python2.7 ...

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

et si vous ne pouvez pas installer les paquets python-dev ou python-devel, vous pouvez télécharger archive avec la version nécessaire des sources python à partir de http://hg.python.org / et placer les fichiers en-têtes dans le dossier approprié pour inclure

1
répondu Oleg Neumyvakin 2013-06-19 09:24:35

il suffit de taper:

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

cela résoudra ces problèmes.

1
répondu Luciano D. Mota 2015-06-14 00:30:51

dans centos 7 cela fonctionne pour moi:

yum install mariadb-devel
pip install mysqlclient
0
répondu Rajiv Sharma 2018-09-01 05:59:05

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

notez que vous devriez installer python-dev aussi, les paquets comme MySQL-python sont compilés à partir de source. Le pythonx.les paquets x-dev contiennent les fichiers d'en-tête nécessaires pour créer des liens avec python. pourquoi l'installation de numpy nécessite python-dev dans Kubuntu 12.04

-2
répondu Ivan Wang 2017-05-23 12:18:25