947 votes

pip install mysql-python échoue avec EnvironmentError : mysql_config non trouvé

Voici l'erreur que je reçois

(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

Que puis-je faire pour résoudre ce problème ?

2 votes

Voir ce fil de discussion : [mysql_config non trouvé lors de l'installation de l'interface python mysqldb] [1] a fonctionné pour moi :) [1] : stackoverflow.com/questions/7475223/

2 votes

Je suis un utilisateur de MAC OS. J'ai résolu ce problème avec cette question. stackoverflow.com/questions/50940302/

1601voto

Fbo Points 3463

Il semble que mysql_config soit manquant sur votre système ou que le programme d'installation ne l'ait pas trouvé. Vérifiez que mysql_config est bien installé.

Par exemple, sur Debian/Ubuntu, vous devez installer le paquet :

sudo apt-get install libmysqlclient-dev

Peut-être que le mysql_config n'est pas dans votre chemin, ce sera le cas lorsque vous compilerez par vous-même la suite mysql.

Mise à jour : Pour les versions récentes de debian/ubuntu (à partir de 2018), c'est .

sudo apt install default-libmysqlclient-dev

26 votes

Cela a quand même créé une erreur pour moi. J'ai utilisé apt-get install python-mysqldb à la place.

53 votes

Mon expérience à deux chiffres : sudo apt-get install libmysqlclient-dev a fonctionné pour moi, sudo apt-get install python-mysqldb n'a pas aidé

25 votes

@JonatanLittke Installer un python-mysqldb global va à l'encontre du but de virtualenv IMO.

324voto

Chris Villa Points 1453

Sous Mac OS, j'ai simplement exécuté ceci dans le terminal pour réparer :

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

C'est la solution la plus rapide que j'ai trouvée - elle l'ajoute au chemin d'accès, mais je pense qu'il vaut mieux l'ajouter de façon permanente (c'est-à-dire l'ajouter au chemin d'accès). /etc/paths ) si vous prévoyez d'installer MySQL-python dans un autre environnement.

(testé sous OSX Mountain Lion)

6 votes

Si vous utilisez La pile MAMP de Bitnami utiliser export PATH=$PATH:/Applications/mampstack-5.3.17-0/mysql/bin Si vous utilisez cette pile commerciale MAMP D'un autre côté, désinstallez-le et prenez celui de Bitnami parce qu'il est merdique et n'inclut pas les en-têtes mysql.

3 votes

Pour rendre le chemin permanent, ajoutez-le au bas de la page d'accueil de /etc/paths - vous devrez ouvrir une nouvelle fenêtre de terminal pour accéder au nouveau chemin.

0 votes

@Timmmm Solution assez coûteuse car toutes mes bases de données sont en version officielle :/ y a-t-il un autre moyen de résoudre ce problème ?

109voto

user2886440 Points 51

Il existe peut-être plusieurs réponses à ce problème, mais vous trouverez ci-dessous une solution globale.

Pour Ubuntu :

$ sudo apt update
$ sudo apt install python-dev
$ sudo apt install python-MySQLdb

Pour CentOS :

$ yum install python-devel mysql-devel

0 votes

Merci pour l'astuce centos. J'ai cherché cela toute la matinée.

2 votes

Cela vaut peut-être la peine d'ajouter python3-dev / python3-devel

106voto

steve-gregory Points 1940
apt-get install libmysqlclient-dev python-dev

Ça semble faire l'affaire.

2 votes

Oui, pour moi seule libmysqlclient-dev n'était pas suffisante, il manquait aussi python-dev.

0 votes

Sur Ubuntu 12.04 (precise) (32-Bit) après une mise à jour sur place de 10.04 (lucid) seulement ceci a résolu ces erreurs. Surtout l'ajout de "python-dev" !

0 votes

Ça a marché pour moi aussi - python-dev était la dernière pièce du puzzle. J'avais déjà installé python-mysqldb, donc ce n'est certainement pas tout ce qui est nécessaire.

38voto

Voles Points 2019

Vous pouvez utiliser le connecteur MySQL/Python

Installation via PyPip

pip install mysql-connector-python

De plus amples informations sont disponibles sur le site Annonce de la version bêta de MySQL Connector/Python 1.0.5 blog.

Sur Launchpad, il y a un bon exemple de la manière d'ajouter, de modifier ou de supprimer des données. avec la bibliothèque.

3 votes

C'est la seule chose qui a fonctionné pour moi lorsque j'ai abandonné mysqldb et le désordre de mysql_config manquant. Elle fonctionne bien pour mes besoins.

1 votes

@wjoba pouvez-vous m'expliquer davantage ? Je suis en train d'installer py-mysql2pgsql et je trouve une erreur de mysql_config. J'utilise MAMP. Que fait le connecteur mysqk ?

2 votes

@Volatil3 mysql-connector-python a bien fonctionné comme un remplacement prêt à l'emploi de mysql-python pour moi. L'installation du premier via pip a fonctionné sans problème et a permis de se débarrasser de l'erreur mysql_config car (selon les propres termes du développeur) mysql connector est "purement Python et ne nécessite aucun autre logiciel MySQL, donc pas de bibliothèques C et de compilation". J'espère que cela vous aidera. Essayez l'installation mentionnée dans cette solution et voyez si vous rencontrez toujours l'erreur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X