pip install mysql-python échoue avec EnvironmentError: mysql config introuvable

C'est l'erreur que j'obtiens

(mysite)zjm1126@zjm1126-G41MT-S2:~/zjm_test/mysite$ pip install python/" class="blnk">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?

693
demandé sur d3vid 2011-03-03 11:32:51

18 réponses

il semble que mysql_config manque sur votre système ou l'installateur n'a pas pu le trouver. Assurez-vous mysql_config est vraiment installé.

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

sudo apt-get install libmysqlclient-dev

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

mise à jour: pour les versions récentes de debian/ubuntu (à partir de 2018) il est

sudo apt install default-libmysqlclient-dev
1162
répondu Fbo 2018-07-04 16:05:33

en courant Mac OSX Mountain Lion, j'ai simplement couru dans le terminal pour fixer:

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

C'est le correctif le plus rapide que j'ai trouvé - il l'ajoute au chemin, mais je pense qu'il est préférable de l'ajouter de façon permanente (c'est-à-dire l'ajouter à /etc/paths ) si vous prévoyez d'installer MySQL-python dans un autre environnement.

263
répondu Chris Villa 2014-03-10 09:47:25
apt-get install libmysqlclient-dev python-dev

Semblait faire l'affaire.

93
répondu steve-gregory 2012-12-04 06:51:35

il peut-être diverses réponses pour la question ci-dessus, ci-dessous est 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
72
répondu user2886440 2018-05-15 10:27:24

vous pouvez utiliser le connecteur MySQL / Python

Installation via PyPip

"
pip install mysql-connector-python

vous trouverez de plus amples informations sur le blog MySQL Connector/Python 1.0.5 beta announcement .

sur Launchpad il y a un bon exemple de comment ajouter-, modifier - ou supprimer des données avec la bibliothèque.

20
répondu Voles 2012-10-11 12:05:19

pour centos utilisateurs:

yum install -y mysql-devel python-devel python-setuptools

puis

pip install MySQL-python


si cette solution ne fonctionne pas , et imprimer gcc compiler erreur comme:

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

vous devez spécifier le chemin de Python.h , comme ceci:

pip install --global-option=build_ext --global-option="-I/usr/include/python2.6" MySQL-python

20
répondu lancerex 2016-05-04 07:51:20

si vous êtes sous MAC Installer ce à l'échelle mondiale

brew install mysql

puis Exporter le chemin comme ceci

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

enfin globalement ou dans votre venv

pip install MySQL-Python
17
répondu Zaman Afzal 2017-09-14 09:59:36

j'essayais d'installer mysql-python sur une instance Linux Amazon EC2 et j'ai dû installer ces:

yum install mysql mysql-devel mysql-common mysql-libs gcc

mais j'ai eu cette erreur:

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

donc j'ai installé:

yum install python-devel

et ça a fait l'affaire.

16
répondu Emil Davtyan 2013-07-25 21:45:35

OSX Mavericks

en raison de changements dans les outils de développement osx mavericks & xcode vous pouvez obtenir l'erreur sur l'installation

clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]

donc utiliser:

sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install mysql-python
5
répondu Thomas 2014-03-19 18:36:00

pour quiconque utilise MariaDB au lieu de MySQL, la solution est d'installer le paquet libmariadbclient-dev et de créer un lien symbolique vers le fichier de configuration avec le nom correct.

par exemple cela a fonctionné pour moi:

ln -s /usr/bin/mariadb_config /usr/bin/mysql_config
5
répondu Chirila Alexandru 2015-06-19 12:44:58

Essayer sudo apt-get build-dep python-mysqldb

4
répondu KalamHavij 2012-06-24 20:15:37

pour mariadb install lib mariadb client-dev au lieu de libmysqlclient-dev 151980920"

sudo apt-get install libmariadbclient-dev
2
répondu Dinesh Sharma 2017-08-14 07:30:04

parfois, l'erreur dépend de la cause réelle. nous avons eu un cas où mysql-python a été installé via le paquet debian python-mysqldb.

un développeur qui ne savait pas cela, a accidentellement couru pip uninstall mysql-python et n'a pas réussi à récupérer avec pip install mysql-python donnant l'erreur ci-dessus.

pip uninstall mysql-python avait détruit le contenu du paquet debian, et bien sûr pip install mysql-python a échoué parce que le paquet debian n'avait pas besoin de fichiers dev.

la bonne solution dans ce cas était apt-get install --reinstall python-mysqldb qui a restauré mysql-python à son état original.

1
répondu eMBee 2017-06-29 14:31:28

vous devez installer le mysql d'abord:

yum install python-devel mysql-community-devel -y

ensuite vous pouvez installer mysqlclient :

pip install  mysqlclient
1
répondu aircraft 2017-12-29 01:11:43

avait un problème similaire essayant d'installer sur OS X Server 10.6.8. Voici ce que j'avais à faire.

MySQL-python 1.2.4b4 (source) MySQL-5.6.19 (installateur binaire )) Python 2.7 (installateur binaire) Remarque: installation dans virtualenv...

Unzip source, open 'distribute_setup.py' et éditez DEFAULT_VERSION pour utiliser la dernière version des outils de distribution, comme ceci:

DEFAULT_VERSION = "0.6.49"

Save. Ouvrir le site.cfg ' et de décommenter le chemin vers mysql_config de sorte qu'il ressemble à quelque chose comme (référence votre propre chemin vers mysql_config):

# The path to mysql_config.
# Only use this if mysql_config is not on your PATH, or you have some weird
# setup that requires it.
mysql_config = /usr/local/mysql/bin/mysql_config

maintenant nettoyer, construire et faire ne sera pas un échec avec le 'mysql_config' erreur non trouvée. Espérons que cela aide quelqu'un d'autre qui tente de faire usage de leur ancien xserves :-)

0
répondu Brad Herdson 2014-07-05 15:20:16

votre sentier sudo ne connaît pas votre sentier local... passez en mode super-utilisateur, ajoutez le chemin, et installez-le à partir de là.

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

et vous êtes opérationnel sur OSX. Maintenant vous avez un python global mis à jour.

0
répondu Paul Kenjora 2017-05-17 17:07:20

si vous installez MySQL-python dans votre env virtuel, vous devriez vérifier la version pip, si la version est plus ancienne que 9.0.1, veuillez la mettre à jour

pip install --upgrade pip
0
répondu Albert Chen 2018-02-21 11:30:12

j'ai eu le même problème dans le Terraform:conteneur léger. Il est basé sur Alpine.

là, vous devez installer mariadb-dev avec:

apk add mariadb-dev

mais cela ne suffit pas parce que toutes les autres dépendances sont manquées:

apk add python2 py2-pip gcc python2-dev musl-dev
0
répondu Alex 2018-04-11 10:34:46