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

Einfachere Einrichtung zum Schreiben in MySQL unter OSX mit Python

Leider gibt es im Moment keine wirklich triviale Lösung. Wenn Sie MySQL mit Python verwenden müssen, besteht die einfachste und zuverlässigste Lösung unter OS X darin, alles zu installieren – Python, MySQLdb, alle anderen erforderlichen Python-Pakete von Drittanbietern, MySQL-Clientbibliotheken und, falls erforderlich, MySQL-Serverbibliotheken und -Dienstprogramme - Verwenden eines Paketverwaltungssystems wie MacPorts . Beim Versuch, die verschiedenen Komponenten aus unterschiedlichen Quellen zu installieren, treten häufig Probleme mit inkompatibilitätsbedingten ausführbaren Dateien und Bibliotheken auf:32-Bit vs. 64-Bit, unterschiedliche ABIs (10.3 vs. 10.6) usw.

Für ein System mit Xcode und dem MacPorts-Basissystem installiert haben, können Sie alles mit einem Befehl erstellen und installieren:

sudo port install py27-mysql

Falls Sie auch den MySQL-Server benötigen:

sudo port install py27-mysql mysql5-server

Alle von MacPorts installierten ausführbaren Dateien werden standardmäßig in /opt/local installiert , also müssen Sie die Dinge nur von dort aus ausführen:

/opt/local/bin/python2.7

Um es Ihren Benutzern zu erleichtern, sollten Sie in der Lage sein, mit MacPorts die erforderlichen Ports als Binärarchive zu erstellen und ein Skript einzurichten, um das MacPorts-Basissystem und dann Ihre vorgefertigten Pakete zu installieren. Es gibt einige Informationen dazu im MacPorts Guide hier . Vieles davon ist jedoch für MacPorts 2.0.x veraltet. Bis zur Aktualisierung des Leitfadens finden Sie Informationen ab hier . Der sicherste Ansatz wäre, für jede unterstützte OS X-Version einen anderen Paketsatz zu erstellen. Es vielleicht möglich sein, einen aufwärtskompatiblen Satz auf dem ältesten benötigten System zu erstellen:Sagen wir, Pakete auf 10.5 zu erstellen, die auch auf 10.6- und 10.7-Systemen funktionieren würden. Um Interferenzen mit Kunden-MacPorts-Installationen zu vermeiden, könnten Sie auch das MacPorts-Basissystem aus den Quellen erstellen und das Installationsstammverzeichnis in etwas anderes als /opt/local ändern .

Ein idiomatischerer Ansatz für OS X wäre die Verwendung von py2app um ein Anwendungspaket zu erstellen, das Python und die MySQL-Clientbibliotheken enthält. Ich weiß nicht, ob das jemand erfolgreich gemacht hat.

Ein weiterer Vorschlag:Wenn Sie nicht wirklich einen Remote-Server benötigen, sollten Sie stattdessen SQLite verwenden. Unterstützung für SQLite ist in der Python-Standardbibliothek enthalten.