Mysql
 sql >> Base de données >  >> RDS >> Mysql

mysql-python :construire un _mysql.so complètement autonome sur Mac OS X ?

Peu importe, j'ai découvert moi-même après avoir creusé un peu plus. C'est assez simple, en fait; J'enregistrerai la solution ici au cas où quelqu'un d'autre en aurait besoin :

  1. Obtenez l'archive source de MySQL à partir de mysql.com (pas l'archive binaire spécifique à la plate-forme)

  2. Décompressez-le, exécutez ./configure avec toutes les options adaptées à vos besoins, mais vous aurez besoin de --enable-static . Juste pour être sûr, j'ai inclus --disable-shared , même si cela n'est peut-être pas strictement nécessaire. J'ai utilisé ce qui suit, le vôtre peut différer sur d'autres points :

    (En ce qui concerne les paramètres de jeu de caractères et de classement ici :ils peuvent être complètement inutiles dans ce cas d'utilisation, car je vais supprimer MySQL par la suite, mais comme toutes les connexions client utilisent un jeu de caractères/classement, je couvre mes bases UTF-8 -wise juste au cas où le charset/classement par défaut utilisé par MySQLdb est affecté par la façon dont _mysql.so est compilé - des hommes plus sages que moi voudront peut-être le confirmer d'une manière ou d'une autre.)

  3. Obtenez la dernière archive tar source de mysql-python à partir de http://pypi.python.org/pypi /MySQL-python

  4. Décompressez-le, et dans site.cfg définir static = True et mysql_config = /usr/local/mysql-src/bin/mysql_config (ou quel que soit le chemin que vous avez choisi pendant configure ).

  5. Exécutez python setup.py build . Certaines erreurs liées à l'architecture peuvent apparaître à la fin de la compilation, mais elles peuvent être ignorées.

  6. Exécutez sudo python setup.by install . Cela crée un .egg dans vos site-packages répertoire et l'ajoute au fichier easy_install.pth.

  7. Vous avez terminé! Vous pouvez maintenant supprimer toutes les traces de MySQL ainsi que les sources mysql-python. L'œuf peut être copié tel quel sur d'autres Mac exécutant la même version d'OS X. Je le copie avec plaisir dans divers environnements virtuels créés avec virtualenv au moment où nous parlons.

Cela a fonctionné sur 10.5, je le testerai bientôt sur 10.6 et, si quelque chose doit être fait différemment, rapportez les résultats ici.