Tout d'abord, oui, j'ai déjà vu ceci:
L'installation de pip mysql-python échoue avec EnvironmentError: mysql_config introuvable
Le problème
J'essaie d'utiliser Django sur un projet Google App Engine. Cependant, je n'ai pas pu démarrer car le serveur ne parvient pas à démarrer correctement pour les raisons suivantes:
ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb
J'ai fait des recherches et tout indiquait qu'il fallait installer Mysql-python, car ce n'est apparemment pas sur mon système. J'ai effectivement essayé de le désinstaller et j'ai obtenu ceci:
Cannot uninstall requirement mysql-python, not installed
Chaque fois que j'essaie réellement d'installer via:
Sudo pip install MySQL-python
Je reçois une erreur en disant:
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 à nouveau exécuté la commande d'installation et celle-ci a toujours échoué.
Des idées?
S'il vous plaît noter que je ne suis pas sur une verticale.
Ok, tout d’abord, laissez-moi vérifier si je suis sur la même page que vous:
brew install mysql
export PATH=$PATH:/usr/local/mysql/bin
pip install MySQL-Python
(ou pip3 install mysqlclient
si vous utilisiez python 3)Si vous avez fait toutes ces étapes dans le même ordre et que vous avez toujours une erreur, continuez jusqu'à la fin, mais si vous n'avez pas suivi ces étapes exactes, essayez de les suivre depuis le 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 lancer which mysql_config
à partir de bash. Il ne sera probablement pas trouvé. C'est pourquoi la construction ne le trouve pas non plus. Essayez d'exécuter locate mysql_config
et voyez si quelque chose revient. Le chemin d'accès à ce fichier binaire doit figurer soit dans la variable d'environnement $ PATH de votre shell, soit explicitement dans le fichier setup.py du module en supposant qu'il recherche un emplacement spécifique pour ce fichier.
Au lieu d'utiliser MySQL-Python, essayez d'utiliser 'mysql-connector-python', il peut être installé avec pip install mysql-connector-python
. Vous trouverez plus d’informations à ce sujet ici et ici .
Recherchez manuellement l'emplacement de 'mysql/bin', 'mysql_config' et de 'MySQL-Python' et ajoutez-les tous à la variable d'environnement $ PATH.
Si toutes les étapes ci-dessus échouent, vous pouvez essayer d'installer «mysql» à l'aide de MacPorts. Dans ce cas, le fichier «mysql_config» s'appellera en réalité «mysql_config5». Dans ce cas, vous devrez le faire après avoir installé: export PATH=$PATH:/opt/local/lib/mysql5/bin
. Vous pouvez trouver plus de détails ici .
Note1: J'ai vu des gens dire qu'installer python-dev
et libmysqlclient-dev
avait également aidé, mais je ne sais pas si ces packages sont disponibles sur Mac OS.
Note2: Veillez également à exécuter les commandes en tant que root.
J'ai eu mes réponses de (à part 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 serais heureux de savoir si cela fonctionnait ou non. Bonne chance.
Je déboguais ce problème depuis toujours - 3 heures 17 minutes. Ce qui m'a particulièrement énervé, c'est que j'avais déjà installé SQL sur mon système auparavant mais que pip/pip3 ne le reconnaissait pas. Ces discussions ci-dessus et de nombreuses autres pour lesquelles j'ai parcouru Internet ont été utiles pour éclaircir le problème mais n'ont pas résolu le problème.
RÉPONSE
Pip recherche les fichiers binaires mysql dans le répertoire Homebrew, qui est situé par rapport à Macintosh HD @
usr/local/Cellar/
alors j'ai trouvé que cela vous demandait de faire quelques changements
étape 1: Téléchargez MySql si ce n’est pas déjà fait https://dev.mysql.com/downloads/
Étape 2: localisez-le par rapport à Macintosh HD et cd
usr/local/mysql/bin
Étape 3: Une fois sur place, ouvrez le terminal et utilisez un éditeur de texte de choix - je suis moi-même un néo-conservateur, alors je l'ai tapé (ça ne vient pas automatiquement avec Mac ... une autre histoire pour un autre jour)
nvim mysql_config
Étape 4: Vous verrez à peu près la ligne 112
# Create options
libs="-L$pkglibdir"
libs="$libs -l "
Changer en
# Create options
libs="-L$pkglibdir"
libs="$libs -lmysqlclient -lssl -lcrypto"
* Vous remarquerez que ce fichier a un accès en lecture seule, donc si vous utilisez vim ou neovim
:w !Sudo tee %
Étape 5: Allez dans le répertoire racine et éditez le fichier .bash_profile
cd ~
Ensuite
nvim .bash_profile
et ajouter
export PATH="/usr/local/mysql/bin:$PATH"
dans le fichier puis enregistrez
Étape 6: par rapport à Macintosh HD localisez les chemins et ajoutez-les
cd private/etc/
puis
nvim paths
et ajouter
/usr/local/mysql/bin
* vous remarquerez à nouveau que ce fichier a un accès en lecture seule, donc si vous utilisez vim ou neovim
:w !Sudo tee %
puis
cd ~
puis actualisez le terminal avec vos modifications en exécutant
source .bash_profile
Finalement
pip3 install mysqlclient
Et Viola. Rappelez-vous que c'est une ambiance.
Cela se produit aussi quand j'installais mysqlclient,
$ pip install mysqlclient
Comme dit l'utilisateur3429036,
$ brew install mysql
Si vous ne souhaitez 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 sera demandé d'ajouter la ligne ci-dessous à ~/.bash_profile
:
echo 'export PATH="/usr/local/opt/mysql-client/bin:$PATH"' >> ~/.bash_profile
Fermez le terminal, démarrez le nouveau et passez à pip install mysqlclient