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?
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
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...
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/
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.
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é.
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
les commandes (mysql aussi) mPATH pourraient être manquantes.
export PATH=$PATH:/usr/local/mysql/bin/
Je l'ai corrigé en installant libmysqlclient:
sudo apt-get install libmysqlclient16-dev
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.
sur ma machine Fedora 23 j'ai dû exécuter ce qui suit:
sudo dnf install mysql-devel
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
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.
(Spécifique à mac), j'ai essayé beaucoup de choses, mais ces commandes enfin fonctionné pour moi.
-
brew install mysql
# installer mysql -
brew unlink mysql
-
brew install mysql-connector-c
-
export PATH=/usr/local/Cellar/mysql/8.0.11/bin:$PATH
# update path et définir le dossier bin mysql à path -
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 -
pip install mysqlclient
# install mysql-client finally
vous devez installer le paquet python-dev:
sudo apt-get install python-dev
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
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
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.
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.
sudo apt-get build-dep python-mysqldb
installera toutes les dépendances pour construire le paquet à partir de PIP / easy_install
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
il suffit de taper:
$ sudo apt-get install python-dev
$ venv/bin/pip install MySQL-python
cela résoudra ces problèmes.
dans centos 7 cela fonctionne pour moi:
yum install mariadb-devel
pip install mysqlclient
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