Tout d'abord, oui, j'ai déjà vu ça:
pip install mysql-python échoue avec EnvironmentError: mysql_config introuvable
Le problème
J'essaye d'utiliser Django sur un projet Google App Engine. Cependant, je n'ai pas pu démarrer car le serveur ne démarre pas correctement en raison de:
ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb
J'ai fait des recherches et tout cela a montré qu'il fallait installer Mysql-python, car apparemment ce n'est pas sur mon système. J'ai en fait essayé de le désinstaller et j'ai obtenu ceci:
Cannot uninstall requirement mysql-python, not installed
Chaque fois que j'essaye d'installer via:
sudo pip install MySQL-python
J'obtiens une erreur indiquant:
raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found
J'ai déjà essayé de courir:
export PATH=$PATH:/usr/local/mysql/bin
mais cela n'a pas semblé aider, car j'ai exécuté à nouveau la commande d'installation et elle a toujours échoué.
Des idées?
Veuillez noter que je ne suis pas dans une virtualenv.
EnvironmentError
et afficher des informations de débogage plus utiles, commeos.getcwd()
. vous pouvez également ajouter unpdb.set_trace()
et comprendre des choses.Réponses:
Ok, eh bien, tout d'abord, laissez-moi vérifier si je suis sur la même longueur d'onde que vous:
brew install mysql
export PATH=$PATH:/usr/local/mysql/bin
pip install MySQL-Python
(oupip3 install mysqlclient
si vous utilisez python 3)Si vous avez effectué toutes ces étapes dans le même ordre et que vous obtenez toujours une erreur, poursuivez votre lecture jusqu'à la fin.Si, cependant, vous n'avez pas suivi ces étapes exactes, essayez de les suivre depuis le tout début.
Donc, vous avez suivi les étapes et vous obtenez toujours une erreur, eh bien, il y a quelques choses que vous pouvez essayer:
Essayez de courir à
which mysql_config
partir de bash. Il ne sera probablement pas trouvé. C'est pourquoi la version ne le trouve pas non plus. Essayez de courirlocate mysql_config
et voyez si quelque chose vous revient. Le chemin vers ce binaire doit être soit dans la variable d'environnement $ PATH de votre shell, soit il doit être explicitement dans le fichier setup.py pour le module en supposant qu'il cherche à un endroit spécifique pour ce fichier.Au lieu d'utiliser MySQL-Python, essayez d'utiliser 'mysql-connector-python', il peut être installé en utilisant
pip install mysql-connector-python
. Vous trouverez plus d'informations à ce sujet ici et ici .Trouvez manuellement l'emplacement de «mysql / bin», «mysql_config» et «MySQL-Python», et ajoutez tout cela à la variable d'environnement $ PATH.
Si toutes les étapes ci - dessus échouent, alors vous pouvez essayer d' installer « mysql » en utilisant MacPorts, auquel cas le fichier « mysql_config » serait effectivement appelé « mysql_config5 », et dans ce cas, vous devez le faire après l' installation:
export PATH=$PATH:/opt/local/lib/mysql5/bin
. Vous pouvez trouver plus de détails ici .Note 1: J'ai vu des gens dire que l'installation
python-dev
et alibmysqlclient-dev
également aidé, mais je ne sais pas si ces packages sont disponibles sur Mac OS.Remarque 2: Assurez-vous également d'essayer d'exécuter les commandes en tant que root.
J'ai obtenu mes réponses (en plus de mon cerveau) de ces endroits (peut-être pourriez-vous les regarder, pour voir si cela aiderait): 1 , 2 , 3 , 4 .
J'espérais avoir aidé et je serais heureux de savoir si cela fonctionnait ou non. Bonne chance.
la source
brew install mysql
corrigé. De plus, cette commandewhich mysql-config
n'a pas fonctionné pour moi, maiswhich mysql_config
a fonctionné..bash_profile
fichier:export DYLD_LIBRARY_PATH=/usr/local/Cellar/mysql/5.7.9/lib/
export PATH=$PATH:/usr/local/Cellar/mysql/5.7.20/bin
J'avais débogué ce problème depuis toujours - 3 heures 17 minutes. Ce qui m'a particulièrement ennuyé, c'est que sql était déjà installé sur mon système grâce à un travail antérieur à l'université, mais pip / pip3 ne le reconnaissait pas. Ces fils ci-dessus et beaucoup d'autres pour lesquels j'ai parcouru Internet ont été utiles pour élucider le problème, mais n'ont pas vraiment résolu les choses.
RÉPONDRE
Pip recherche des binaires mysql dans le répertoire Homebrew qui est situé par rapport à Macintosh HD @
donc j'ai trouvé que cela nécessite que vous apportiez quelques modifications
étape 1: Téléchargez MySql si ce n'est déjà fait https://dev.mysql.com/downloads/
Étape 2: localisez-le par rapport au disque dur et au cd Macintosh
Étape 3: Une fois là-bas, ouvrez le terminal et utilisez un éditeur de texte de votre choix - je suis moi-même un néovim, alors j'ai tapé (ne vient pas automatiquement avec Mac ... une autre histoire pour un autre jour)
Étape 4: Vous verrez à environ la ligne 112
Changer pour
* vous remarquerez que ce fichier a un accès en lecture seule, donc si vous utilisez vim ou neovim
Étape 5: Dirigez-vous vers le répertoire de base et modifiez le fichier .bash_profile
ensuite
et ajouter
dans le fichier puis enregistrez
Étape 6: par rapport à Macintosh HD, localisez les chemins et ajoutez-y
puis
et ajouter
* vous remarquerez à nouveau que ce fichier a un accès en lecture seule, donc si vous utilisez vim ou neovim
puis
puis actualisez le terminal avec vos modifications en exécutant
finalement
Et Viola. Souvenez-vous que c'est une ambiance.
la source
libs
intérieurmysql_config
était déjà tel que décrit dans la section «Changer en». Cependant, l'ajout du PATH à aprivate/etc
permis d'autoriser l'installation globale demysqlclient
qui échouait auparavant.Si vous ne voulez pas installer mysql complet, nous pouvons résoudre ce problème en installant simplement mysqlclient
brew install mysqlclient
Une fois que cmd est terminé, il vous demandera d'ajouter la ligne ci-dessous à~/.bash_profile
:echo 'export PATH="/usr/local/opt/mysql-client/bin:$PATH"' >> ~/.bash_profile
Fermez le terminal et démarrez le nouveau terminal et continuez avec
pip install mysqlclient
la source
J'utilise Python 3.6 sur MacOS Catalina. Mon problème était que j'ai essayé d'installer
mysqlclient==1.4.2.post1
et qu'il continue de lancer une erreur mysql_config introuvable.Voici les étapes que j'ai suivies pour résoudre le problème.
brew unlink mysql
) -brew install mysql-connector-c
brew info openssl
- cela vous donnera plus d'informations sur ce qui doit être fait pour mettre openssl dans PATHecho 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile
export LDFLAGS="-L/usr/local/opt/openssl/lib"
export CPPFLAGS="-I/usr/local/opt/openssl/include"
la source
Cela se produit également lorsque j'installe mysqlclient,
Comme l'a dit user3429036,
la source
Cette réponse est destinée aux utilisateurs de MacOS qui n'ont pas installé depuis
brew
mais plutôt depuis le fonctionnaire.dmg/.pkg
. Ce programme d'installation ne parvient pas à modifier votrePATH
, ce qui entraîne des choses hors de la boîte:mysql
,mysqladmin
,mysql_config
, etc. ne peut pas être trouvé, et en conséquence:mysqlclient
Ce que vous devez faire est d'ajouter le
bin
dossier MySQL (généralement/usr/local/mysql/bin
dans votrePATH
en ajoutant cette ligne dans votre~/.bash_profile
fichier:export PATH="/usr/local/mysql/bin/:$PATH"
Vous devez ensuite recharger votre
~/.bash_profile
pour que la modification prenne effet dans votre session Terminal actuelle:source ~/.bash_profile
Avant l'installation
mysqlclient
, cependant, vous devez accepter la licence XcodeBuild:sudo xcodebuild -license
Suivez leurs instructions pour déconnecter votre famille, après quoi vous devriez pouvoir installer
mysqlclient
sans problème:pip install mysqlclient
Après avoir installé cela, vous devez faire une dernière chose pour corriger un bogue d'exécution fourni avec MySQL ( Dynamic Library
libmysqlclient.dylib
not found ), en ajoutant cette ligne au chemin des bibliothèques dynamiques de votre système:export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/:$DYLD_LIBRARY_PATH
la source
sudo lsof -i :3306
pour voir le PID du processus MySQL actif, puis en exécutantsudo -P <pid>
dessus pour voir ses fichiers ouverts. Ceci est venu avec/usr/local/mysql-8.0.18-macos10.14-x86_64/bin
lequel j'ai ajouté$PATH
et voila !Si vous avez installé mysql en utilisant Homebrew en spécifiant une version, mysql_config serait présent ici. - /usr/local/Cellar/[email protected]/5.6.47/bin
vous pouvez trouver le chemin du bac sql en utilisant la commande ls dans / usr / local / répertoire
Ajoutez le chemin d'accès au profil bash comme ceci.
la source
Le problème dans mon cas était que j'exécutais la commande dans un environnement virtuel python et qu'elle n'avait pas le chemin vers / usr / local / mysql / bin bien que je l'ai mis dans le fichier .bash_profile. Le simple fait d'exporter le chemin dans l'environnement virtuel a fonctionné pour moi.
Pour votre information, sql_config réside dans le répertoire bin.
la source
Installer brew ou apt-get n'est pas non plus facile pour moi, j'ai donc téléchargé mysql via: https://dev.mysql.com/downloads/connector/python/ , installé. Je peux donc trouver mysql_config dans ce répertoire: / usr / local / mysql / bin
la prochaine étape est:
la source