J'essaie d'obtenir un script Python à exécuter 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 quand j'essaie d'installer mySQLdb via setuptools comme ceci :,
python setup.py install
J'obtiens le rapport d'erreur suivant lié à la mysql_config
commande.
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-t-il rencontré cette erreur et si oui, comment l'avez-vous résolue / que puis-je faire pour réussir l'installation de mysqldb?
python
linux
ssh
mysql-python
user904542
la source
la source
/usr/bin
est faux, c'estusr/local/my...
voir la réponse de Thi.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 d'abord l'installer.
Pouvez-vous confirmer que vous avez installé ou non mysql lui-même, en exécutant "mysql" à partir du shell? Cela devrait vous donner une réponse autre que "mysql: command not found".
Quelle distribution Linux utilisez-vous? Mysql est pré-packagé pour la plupart des distributions Linux. Par exemple, pour debian / ubuntu, installer mysql est aussi simple que
mysql-config est dans un paquet différent, qui peut être installé à partir de (encore une fois, en supposant debian / ubuntu):
si vous utilisez mariadb, remplacez mysql, puis lancez
Référence: https://github.com/JudgeGirl/Judge-sender/issues/4#issuecomment-186542797
la source
sudo apt-get install mysql-server
etsudo apt-get install mysql-client
J'installais
python-mysql
sur Ubuntu 12.04 en utilisantJ'ai d'abord eu le même problème:
Cela a fonctionné pour moi
Ensuite, j'ai eu ce problème:
J'ai ensuite essayé avec
Et puis j'étais content :)
la source
(Spécifique à Mac OS X)
J'ai essayé beaucoup de choses, mais ces commandes ont finalement fonctionné pour moi.
mysql
brew unlink mysql
brew install mysql-connector-c
mkdir /usr/local/Cellar/lib/
brew reinstall openssl
( source )Mise à jour: si cela ne fonctionne pas, @vinyll suggère de s'exécuter
brew link mysql
avant l'étape 8.la source
brew info mysql
pour obtenir le chemin réel / correct pour l'installation de mysql. Ensuite, pour que lePATH
changement persiste, faites leexport PATH..
dans votre ~ / .bash_profile.brew link --overwrite mysql-connector-c
travaux sur mon Macbrew link mysql
avant l'étape 8 pour le faire fonctionner.Sur Red Hat je devais faire
Ensuite, cela a fonctionné.
la source
yum install MySQL-python
MySQL-python
un package Python, ou utilisez virtualenv, cela pourrait aider:yum install mysql-devel; venv/bin/pip install MySQL-python
.sudo yum install mariadb-devel
abord, puis vous pouvez installer mysqlclient parpip install mysqlclient
yum install mysql-devel
Centos 8Ce qui suit a fonctionné pour moi sur Ubuntu 12.04 LTS:
Tout cela a fonctionné, j'ai quand même continué à faire ce qui suit:
la source
J'ai eu la même erreur en essayant d'installer
mysql-python
.C'est ainsi que je l'ai corrigé.
Le problème était que le programme d'installation n'a pas pu trouver le mysql_config dans le chemin par défaut. Maintenant ça peut .. et ça a marché ..
J'espère que cela t'aides.
Merci.
la source
J'ai résolu ce problème avec les étapes suivantes:
la source
default-libmysqlclient-dev
, car lelibmysqlclient-dev
paquet normal n'a pas de candidat à l'installation.Les commandes (mysql aussi) mPATH peuvent être manquantes.
export PATH=$PATH:/usr/local/mysql/bin/
la source
Étape 1: - Installez Python3 et Python3-dev Both
Étape 2: - Installez le connecteur Python et Mysql
étape3: - Installer le client python mysql
Cela résoudra votre problème
la source
Si vous êtes sur macOS et que vous avez déjà installé [email protected] via brew install:
brew install mysql-connector-c
brew unlink [email protected]
brew link --overwrite --dry-run [email protected]
tout d'abord, pour voir quels liens symboliques sont remplacésbrew link --overwrite --force [email protected]
pour remplacer réellement les liens symboliques liés à mysql avec [email protected]pip install mysqlclient
la source
Je l'ai corrigé en installant libmysqlclient:
la source
Le
MySQL-python
package utilise lamysql_config
commande pour en savoir plus sur lamysql
configuration de votre hôte. Votre hôte n'a pas lamysql_config
commande.Le package de bibliothèques de développement MySQL (MySQL-devel-xxx) de dev.mysql.com fournit cette commande et les bibliothèques nécessaires au package MySQL-python. Les
MySQL-devel
packages se trouvent dans la zone de téléchargement - serveur communautaire. Les noms des packages de la bibliothèque de développement MySQL commencent parMySQL-devel
et varient en fonction de la version MySQL et de la plate-forme Linux (par exempleMySQL-devel-5.5.24-1.linux2.6.x86_64.rpm
.)Notez que vous n'avez pas besoin d'installer le serveur mysql.
la source
Le paquet libmysqlclient-dev est obsolète, utilisez donc la commande ci-dessous pour le corriger.
Le paquet libmysqlclient-dev n'est pas disponible, mais est référencé par un autre paquet. Cela peut signifier que le package est manquant, obsolète ou uniquement disponible à partir d'une autre source
la source
Dans centos 7, cela fonctionne pour moi:
la source
Sur ma machine Fedora 23, j'ai dû exécuter ce qui suit:
la source
Pour Alpine Linux:
$ apk add mariadb-dev mariadb-client mariadb-libs
MariaDB est un remplacement direct de MySQL et est devenu le nouveau standard à partir d'Alpine 3.2. Voir https://bugs.alpinelinux.org/issues/4264
la source
Je pense que les lignes suivantes peuvent être exécutées sur le terminal
Ce répertoire mysql_config est destiné au serveur zend sur MacOSx. Vous pouvez le faire pour Linux comme les lignes suivantes
Il s'agit du répertoire Linux mysql par défaut.
la source
J'ai eu ces problèmes et résolu si en ajoutant un lien symbolique vers
mysql_config
.J'avais installé mysql avec homebrew et je l'ai vu dans la sortie.
Selon la façon dont vous l'avez obtenu,
mysql
ce sera à différents endroits. Dans mon cas, une/usr/local/Cellar/mysql
fois que vous savez où il se trouve, vous devriez pouvoir créer un lien symbolique vers l'endroit où python le recherche.
/usr/local/mysql
Cela a fonctionné pour moi.
la source
J'ai eu le même problème. Je l'ai résolu en suivant ce tutoriel pour installer Python avec python3-dev sur Ubuntu 16.04:
Et maintenant, vous pouvez configurer votre environnement virtuel:
la source
Vous devez installer le paquet python-dev:
la source
sudo apt-get install python-mysqldb
Python 2.5? On dirait que vous utilisez une très ancienne version d'Ubuntu Server (Hardy 8.04?) - veuillez confirmer quelle version Linux le serveur utilise.
recherche python-mysql sur la base de données des paquets ubuntu
Quelques informations supplémentaires:
Du README de mysql-python -
Red Hat Linux .............
MySQL-python est préemballé dans Red Hat Linux 7.x et plus récent. Cela inclut Fedora Core et Red Hat Enterprise Linux. Vous pouvez également créer vos propres packages RPM comme décrit ci-dessus.
Debian GNU / Linux ................
Emballé comme
python-mysqldb
_ ::Ou utilisez Synaptic.
.. _
python-mysqldb
: http://packages.debian.org/python-mysqldbUbuntu ......
Identique à Debian.
Note de bas de page: Si vous utilisez vraiment une distribution de serveur plus ancienne qu'Ubuntu 10.04, vous n'avez plus de support officiel et vous devriez mettre à niveau le plus tôt possible.
la source
Cette méthode est réservée à ceux qui savent que Mysql est installé mais que mysql_config est toujours introuvable. Cela se produit si l'installation de python ne trouve pas mysql_config dans votre chemin système, ce qui se produit principalement si vous avez effectué l'installation via .dmg Mac Package ou installé à un chemin personnalisé. Le moyen le plus simple et le plus documenté de MySqlDB est de changer le site.cfg . Trouvez le mysql_config qui se trouve probablement dans / usr / local / mysql / bin / et changez la variable à savoir mysql_config comme ci-dessous et relancez l'installation. N'oubliez pas de le commenter en supprimant "#"
Changer sous la ligne
à
en fonction du chemin d'accès dans votre système.
Au fait, j'ai utilisé l'installation de python après avoir changé le site.cfg
sudo /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python setup.py install
la source
Jusqu'à présent, toutes les solutions (Linux) nécessitent
sudo
ou des droits root pour l'installation. Voici une solution si vous n'avez pas de droits root et sanssudo
. (nonsudo apt install ...
):dpkg -x libmysqlclient-dev_<version tag>.deb .
Cela extraira un dossier appeléusr
.Lien symbolique
./usr/bin/mysql_config
vers un endroit qui se trouve sur votre$PATH
:ln -s
`pwd`
/usr/bin/mysql_config FOLDER_IN_YOUR_PATH
Il devrait maintenant pouvoir trouver
mysql_config
Testé sur Ubuntu 18.04.
la source
Pour macOS Mojave, une configuration supplémentaire était requise, pour que les compilateurs trouvent openssl, vous devrez peut-être définir:
la source
Je pense que le moyen le plus pratique pour résoudre ce problème en 2020 est d'utiliser un autre package python. Nous n'avons pas besoin d'installer d'autre logiciel binaire.
Essaye ça
pip install mysql-connector-python
et alors
la source
J'ai rencontré le même problème, j'ai simplement ajouté le chemin où * mysql_config * résidait dans la variable d'environnement PATH et cela a fonctionné pour moi.
la source
sudo apt-get build-dep python-mysqldb
va installer toutes les dépendances pour construire le package à partir de PIP / easy_installla source
Comme l'erreur réelle est
et si vous ne pouvez pas installer les packages python-dev ou python-devel, vous pouvez télécharger l'archive avec la version requise des sources python depuis http://hg.python.org/ et placer les fichiers d'en-têtes dans le dossier approprié pour inclure
la source
Tapez simplement:
Cela résoudra ces problèmes.
la source
sudo apt-get install libmysqlclient-dev
Dans CentOS 7, les opérations suivantes doivent être effectuées:
la source