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 ce problème?
Il semble que mysql_config soit manquant sur votre système ou l'installateur ne l'a pas trouvé . 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 mysql_config n'est pas dans votre chemin, ce sera le cas lorsque vous compilerez vous-même La suite mysql.
Mise à jour: Pour les versions récentes de debian/ubuntu (à partir de 2018), il s'agit
Sudo apt install default-libmysqlclient-dev
Sous Mac OSX Mountain Lion, j'ai simplement exécuté ceci dans un terminal pour corriger:
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 que vous feriez mieux de l’ajouter définitivement (c’est-à-dire, ajoutez-le à /etc/paths
) si vous envisagez d’installer MySQL-python dans un autre environnement.
apt-get install libmysqlclient-dev python-dev
Semblait faire l'affaire.
Il existe peut-être diverses réponses au problème ci-dessus. 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
Vous pouvez utiliser le connecteur MySQL/Python
Installation via PyPip
pip install mysql-connector-python
Vous trouverez des informations complémentaires sur le blog annonce de la version bêta de MySQL Connector/Python 1.0.5 .
Sur le tableau de bord, il y a un bon exemple montrant comment ajouter, modifier ou supprimer des données } avec la bibliothèque.
Si vous êtes sur MAC Installez-le globalement
brew install mysql
puis chemin d'exportation comme celui-ci
export PATH=$PATH:/usr/local/mysql/bin
enfin globalement ou dans votre venv
pip install MySQL-Python
Pour centos utilisateurs:
yum install -y mysql-devel python-devel python-setuptools
puis
pip install MySQL-python
Si cette solution ne fonctionne pas , et une erreur de compilation gcc telle que:_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
J'essayais d'installer mysql-python
sur une instance Linux Amazon EC2 et je devais installer celles-ci:
yum install mysql mysql-devel mysql-common mysql-libs gcc
Mais alors j'ai eu cette erreur:
_mysql.c:29:20: fatal error: Python.h: No such file or directory
Alors j'ai installé:
yum install python-devel
Et ça a fait l'affaire.
Pour ceux qui utilisent MariaDB au lieu de MySQL, la solution consiste à installer le package libmariadbclient-dev
et à 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
En raison de modifications apportées aux outils de développement osx mavericks et xcode, il est possible que vous obteniez l'erreur lors de 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
Essayez Sudo apt-get build-dep python-mysqldb
pour mariadb, installez lib mariadb client-dev au lieu de libmysqlclient-dev
Sudo apt-get install libmariadbclient-dev
Vous devriez d'abord installer la mysql
:
yum install python-devel mysql-community-devel -y
Ensuite, vous pouvez installer mysqlclient
:
pip install mysqlclient
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 le savait pas, a accidentellement exécuté pip uninstall mysql-python
et ensuite échoué à récupérer avec pip install mysql-python
en 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é car le paquet debian ne nécessitait aucun fichier de développement.
la solution correcte dans ce cas était apt-get install --reinstall python-mysqldb
qui a restauré mysql-python à son état d'origine.
Votre chemin Sudo ne connaît pas votre chemin local ... passez en mode superutilisateur, 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. Vous avez maintenant un python global mis à jour.
Séquence à suivre.
pip install mysqlclient
Sudo apt-get install python3-dev libmysqlclient-dev
pip install configparser
Sudo cp /usr/lib/python3.6/configparser.py /usr/lib/python3.6/ConfigParser.py
Essayez ensuite d’installer à nouveau MYSQL-python. Cela a fonctionné pour moi
ça marche pour moi
yum install python-devel mysql-devel
Avait un problème similaire essayant d'installer sur OS X Server 10.6.8. Voici ce que je devais faire ...
MySQL-python 1.2.4b4 (source) MySQL-5.6.19 (programme d'installation binaire) Python 2.7 (programme d'installation binaire) NOTE: Installation dans virtualenv ...
Décompressez le code source, ouvrez le fichier 'distributions_setup.py' et modifiez DEFAULT_VERSION pour utiliser la dernière version des outils de distribution, comme suit:
DEFAULT_VERSION = "0.6.49"
Sauvegarder. Ouvrez le fichier 'site.cfg' et décommentez le chemin d'accès à mysql_config afin qu'il ressemble à quelque chose comme ça (référencez votre propre chemin d'accès à 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, nettoie, compile et crée n'échouera pas avec l'erreur 'mysql_config' not found . J'espère que cela aidera quelqu'un d'autre à essayer d'utiliser ses anciennes xserves :-)
si vous installez MySQL-python dans votre env virtuel, vous devriez vérifier la version de pip, si la version est antérieure à 9.0.1, veuillez le mettre à jour
pip install --upgrade pip
J'ai eu le même problème dans le Terraform: un conteneur léger. Il est basé sur Alpine.
Là vous devez installer mariadb-dev avec:
apk add mariadb-dev
Mais cela ne suffit pas car toutes les autres dépendances sont également manquées:
apk add python2 py2-pip gcc python2-dev musl-dev