Virtualenv EnvironmentError: mysql_config not found sous MAC OSX


Comme le post précédent est inutile j’en fais un autre qui doit concerner au moins 0.00001% de la population.

A vous qui essayez depuis 2 heures de configurer MySQL-python sous votre virtualenv, cet article vous est dédié.

Cette erreur vicieuse m’arrive à chaque fois que j’installe MySQL-python dans un nouvel environnement virtuel. Ceci dit vous l’aurez peut-être sous un autre OS. Sur CentOS j’avais qu’à faire un yum install mysql-devel mais sous Mac c’est autre chose. Plus de puissance engendre plus de responsabilités…

 
Max $  pip install MySQL-python
Downloading/unpacking MySQL-python
  Downloading MySQL-python-1.2.5.zip (108Kb): 108Kb downloaded
  Running setup.py egg_info for package MySQL-python
    sh: mysql_config: command not found
    Traceback (most recent call last):
      File "<string>", line 14, in <module>
      File "/Users/Max/.virtualenvs/zooscator/build/MySQL-python/setup.py", line 17, 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 25, 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: command not found
 
Traceback (most recent call last):
 
  File "<string>", line 14, in <module>
 
  File "/Users/Max/.virtualenvs/zooscator/build/MySQL-python/setup.py", line 17, 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 25, 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 /Users/Max/.pip/pip.log

Il faut éditer votre fichier activate qui se trouve dans le répertoire bin de votre environnement virtuel: ex “/Users/Max/.virtualenvs/zooscator/bin/activate”

vi /Users/Max/.virtualenvs/zooscator/bin

Trouvez les lignes suivantes et ajoutez:

PATH=”$PATH:/opt/local/lib/mysql5/bin/”

...
_OLD_VIRTUAL_PATH="$PATH"
PATH="$VIRTUAL_ENV/bin:$PATH"
PATH="$PATH:/opt/local/lib/mysql5/bin/"
export PATH
...

Chez moi le chemin vers mysql est /opt/local/lib/mysql5/bin/, si vous ne connaissez pas le vôtre utilisez la commande locate: ex locate mysql

Une fois le fichier activate édité il faut le resourcer:

source /Users/Max/.virtualenvs/zooscator/bin/activate

Et vous pourrez alors installer MySQL-python tranquillou billou:

Max $  pip install MySQL-python
 
Downloading/unpacking MySQL-python
  Running setup.py egg_info for package MySQL-python
 
Installing collected packages: MySQL-python
  Running setup.py install for MySQL-python
[....................]
Successfully installed MySQL-python
Cleaning up...

Je vais nourrir mon cochon d’Inde.

16 thoughts on “Virtualenv EnvironmentError: mysql_config not found sous MAC OSX

  • Zanguu

    zooscator… si c’est ce que je pense, vous vous attaquez réellement à des niches avec Sam ^^

    Globalement, tous les outils de dev pré-intégrés à OSX sont foireux à utiliser je trouve (même si mon expérience sur le sujet date de 3 ans) entre les droits d’accès un peu louches et les path à l’ouest t’as toujours une conf à modifier.

    Bon courage pour mysql en tout cas…

  • Eric

    @Zanguu : Et c’est sans compter sur les MàJ de l’OS qui foutent tout les path en l’air, entre usr/bin/local et usr/local/bin, j’ai cru que j’allais jeter l’ordi par la fenêtre hier en installant Pil sur un env en python 2.7 32bits après le passage à Mavericks, pourtant tout fonctionnait auparavant avec Mountain Lion.

    Et ça, c’est juste pour Python, faites l’essai avec le serveur Apache d’OS X, à chaque MàJ je croisais les doigts, maintenant j’ai installé MAMP.

    Apple fait des MàJ dont il a le secret sans aucune doc quasi, la plupart du temps je me sers des tutos venant de Linux mais c’est pas 100% fiable pour OS X.

  • foxmask

    j’ai shooté les outils de dev du mac de ma “moitié” parce que pas pouvoir faire des pipes ( | ) au clavier (entre autre :) ca donne l’impression de ne plus avoir de cervelle à chercher où est planqué la touche. et devoir se taper “raccourci clavier macbook” sur gogole c’est la loose quand meme ;)
    et un gros +1 avec zanguu.
    Par contre un cas qui pourrait intéressé 0.0005% (mais qui va me revenir comme un boomrang je le sens) un billet sur la migration sqlite=>mysql d’une app django :D

  • Max Post author

    Ouais c pas mal la merde mac, en général on evite les MAJ de ce côté là.

  • Zanguu

    [troll]
    @foxmask, migration sqlite => mysql => mariaDB => postgres
    autant faire tout à fond =D

  • Eric

    @foxmask

    Il faut mettre le visualiseur de clavier dans la barre des menus en haut.
    C’est très pratique, surtout lorsque l’on a comme moi un clavier PC pour voir les caractères spéciaux.

  • kontre

    Uhu, apparemment la réalité est un peu différente de celle décrite dans l’article sur les macs…

  • Pierre

    Moi j’ai pété tout l’env Python de mon mac : je peux même plus faire de easy_install ni de pip. J’ai essayé d’installer Python 3 depuis python.org, puis depuis brew, et puis au final j’ai abandonné et maintenant je ne peux plus rien faire (genre installer beautifulsoup !).

    J’en ai ras le cul de ce mac de merde ! (d’ailleurs si ça intéresse quelqu’un pour se la péter dans les Starbucks, je le revends)

    Franchement, je ne comprends pas pourquoi tous les Web devs sont passés sous Mac… c’est de la merde d’un bout à l’autre !

    (et j’ai essayé d’installer Ubuntu dessus… j’en pleure encore)

  • foxmask

    @Zanguu pourquoi pas mais sur ma rpi, je cherchais une plateforme de SGBD(R) light mais un moment la contention du disque (va) se fait(re) sentir.
    @Eric : je ne connaissais pas (évidement :)
    @Max : je ne fais plus les maj depuis des lustres sur ce mac pour éviter le travers qu’on reproche allégrement à windows, une maj qui requiert plus de ressources, on rajoute de la RAM, ce qui permet d’installer plus de services, lesquels vont à leur tour réclamer plus de ressources etc, la boucle est bouclée on change de bécane…

  • Eric

    @Pierre @Foxmask : Bizarre que vous n’arriviez pas à utiliser pip ou easy_install.
    De mémoire dans l’ordre, il faut installer les outils de dev d’XCode (dans les préférences de XCode
    installer xQuartz (X11) :
    Puis homebrew
    :
    ruby <(curl -fsSkL raw.github.com/mxcl/homebrew/go)
    Pip :
    sudo easy_install pip

    et toujours passer par sudo installer des libs.

    Je n’ai rien fait de plus.

    • foxmask

      @eric : changes done !

      sinon, nan mais on ne se refait pas apres 13ans de debian je ne me vois pas boulverser mes habitudes ;) j’ai testé MAMP ya 6ans et j’en suis resté là donc bon, je chercherai plutot un outil qui me permette de shooter tous les services inutiles dans le mac quand on code pas. genre j’ai un serveur HTTP (qui n’est pas MAMP que j’ai déjà desinstallé depuis des lustres) qui tourne et dont j’ai rien à foutre, etc.

  • Zanguu

    @foxmask, tu désinstalle osx et tu mets *nix dessus =D
    [/troll]
    Normalement tu peux les kill depuis le moniteur système (/Applications/Utilities/Activity Monitor) ou à la ligne de commande (kill + PID), mais je ne t’apprends rien.
    Sinon il faut que tu plonges dans la conf de ton serveur pour l’enlever des applis au démarrage.

    Sinon pendant un moment je pensais faire une appli pour gérer les services actifs ou pas en fonction du projet sur lequel on bosse… mais trop la flemme et trop d’autres projets en tête =P

    Pour ta question sur les SGBD, tu as Drizzle qui est un fork allégé de mysql. Sinon tu as Firebird qui à l’air de consommer moins.
    Mais j’ai jamais essayé ces deux là, je suis tombé dessus après juste 5min de recherche.

  • foxmask

    @zanguu je voudrai juste pas tomber dans de l’ésotérisme pour l’app django qui est dessus ;)
    pour le plongeon je m’en doutais ;)

  • G-rom

    Rien à voir ou presque, l’image de la news est véridique malheureusement :( J’ai eu la jambe pétée de cette façon tout pareil.

Comments are closed.

Des questions Python sans rapport avec l'article ? Posez-les sur IndexError.