Mysql
 sql >> Datenbank >  >> RDS >> Mysql

mysql-python:Erstellen einer vollständig eigenständigen _mysql.so unter Mac OS X?

Macht nichts, habe es nach ein bisschen mehr Graben selbst herausgefunden. Es ist eigentlich ziemlich einfach; Ich werde die Lösung hier aufzeichnen, falls jemand anderes sie braucht:

  1. Holen Sie sich den Source-Tarball von MySQL von mysql.com (nicht den plattformspezifischen Binär-Tarball)

  2. Entpacken Sie es, führen Sie ./configure aus mit den Optionen, die Ihren Zwecken entsprechen, aber Sie benötigen --enable-static . Nur um sicherzugehen, habe ich --disable-shared eingefügt , obwohl dies möglicherweise nicht unbedingt erforderlich ist. Ich habe Folgendes verwendet, Ihre können sich in anderen Punkten unterscheiden:

    (In Bezug auf die Zeichensatz- und Sortierungsparameter hier:Sie sind in diesem Anwendungsfall möglicherweise völlig unnötig, da ich MySQL danach löschen werde, aber da alle Clientverbindungen einen Zeichensatz/eine Sortierung verwenden, decke ich meine Basen UTF-8 ab -wise nur für den Fall, dass der von MySQLdb verwendete Standard-Zeichensatz/die Sortierung davon beeinflusst wird, wie _mysql.so zusammengestellt - klügere Männer als ich möchten dies vielleicht auf die eine oder andere Weise bestätigen.)

  3. Holen Sie sich den neuesten Source-Tarball von mysql-python von http://pypi.python.org/pypi /MySQL-python

  4. Entpacken Sie es und in site.cfg setze static = True und mysql_config = /usr/local/mysql-src/bin/mysql_config (oder welchen Pfad Sie während configure gewählt haben ).

  5. Führen Sie python setup.py build aus . Einige architekturbezogene Fehler können am Ende der Kompilierung erscheinen, aber sie können ignoriert werden.

  6. Führen Sie sudo python setup.by install aus . Dadurch wird eine .egg-Datei in Ihren site-packages erstellt Verzeichnis und fügt es der Datei easy_install.pth hinzu.

  7. Sie sind fertig! Sie können jetzt alle Spuren von MySQL sowie die mysql-python-Quellen löschen. Das Ei kann unverändert auf andere Macs kopiert werden, auf denen dieselbe Version von OS X ausgeführt wird. Ich kopiere es gerne in verschiedene virtuelle Umgebungen, die mit virtualenv erstellt wurden während wir sprechen.

Das hat mit 10.5 funktioniert, ich werde es bald mit 10.6 testen und, wenn etwas anders gemacht werden muss, die Ergebnisse hier berichten.