Question l'installation de pip mysql-python échoue avec EnvironmentError: mysql_config non trouvé


C'est 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 cela?


677
2018-03-03 08:32


origine


Réponses:


Il semble que mysql_config manque sur votre système ou que le programme d'installation ne puisse pas le trouver. Assurez-vous que mysql_config est vraiment 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 vous-même la suite mysql.

Mettre à jour: Pour les versions récentes de debian / ubuntu (à partir de 2018), il est

sudo apt install default-libmysqlclient-dev

1131
2018-03-03 09:15



En exécutant Mac OSX Mountain Lion, 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, mais je pense que vous feriez mieux de l'ajouter de façon permanente (c'est-à-dire l'ajouter à /etc/paths) si vous envisagez d'installer MySQL-python dans un autre environnement.


259
2017-09-27 12:18



apt-get install libmysqlclient-dev python-dev

Semblait faire l'affaire.


92
2017-12-04 06:51



Il existe peut-être plusieurs réponses à la question ci-dessus, ci-dessous est une solution agrégée.

Pour Ubuntu:

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

Pour CentOS:

$ yum install python-devel mysql-devel

71
2018-02-25 11:49



Vous pouvez utiliser le connecteur MySQL / Python

Installation via PyPip

pip install mysql-connector-python

De plus amples informations peuvent être trouvées sur le MySQL Connector / Python 1.0.5 version bêta Blog.

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


20
2017-10-11 12:05



Pour centos utilisateurs:

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

puis

pip install MySQL-python


Si cette solution ne fonctionne paset imprimez l'erreur de compilation gcc comme:
_mysql.c:29:20: error: Python.h: No such file or directory

Vous devez spécifier le chemin de Python.h, comme ça:
pip install --global-option=build_ext --global-option="-I/usr/include/python2.6" MySQL-python


20
2018-05-04 07:51



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

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

Mais ensuite j'ai eu cette erreur:

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

J'ai donc installé:

yum install python-devel

Et cela a fait l'affaire.


16
2017-07-25 21:40



Si vous êtes sur MAC Installez cela globalement

brew install mysql

puis exporter le chemin comme ça

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

enfin globalement ou dans votre venv

pip install MySQL-Python

16
2017-09-14 09:59



OS X Mavericks

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

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

donc utilisez:

sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install mysql-python

5
2018-03-19 18:36