sql >> Database >  >> RDS >> Mysql

Eenvoudigere installatie voor schrijven naar MySQL op OSX met Python

Helaas is er op dit moment niet echt een triviale oplossing. Als u MySQL met Python moet gebruiken, is de eenvoudigste en meest betrouwbare oplossing op OS X om alles te installeren - Python, MySQLdb, alle andere benodigde Python-pakketten van derden, MySQL-clientbibliotheken en, indien nodig, MySQL-serverbibliotheken en hulpprogramma's - een pakketbeheersysteem gebruiken, zoals MacPorts . Het proberen om de verschillende componenten van verschillende bronnen te installeren, stuit vaak op problemen met incompatibiliteit gebouwde uitvoerbare bestanden en bibliotheken:32-bits versus 64-bits, verschillende ABI's (10,3 versus 10,6) enz.

Voor een systeem met Xcode en het MacPorts-basissysteem geïnstalleerd, kunt u alles met één commando bouwen en installeren:

sudo port install py27-mysql

Als je de MySQL-server ook nodig hebt:

sudo port install py27-mysql mysql5-server

Alle door MacPorts geïnstalleerde uitvoerbare bestanden worden standaard geïnstalleerd in /opt/local , dus je hoeft alleen maar dingen vanaf daar te doen:

/opt/local/bin/python2.7

Om het uw gebruikers gemakkelijker te maken, zou u MacPorts moeten kunnen gebruiken om de set noodzakelijke poorten als binaire archieven te bouwen en een script op te zetten om het MacPorts-basissysteem en vervolgens uw vooraf gebouwde pakketten te installeren. Er is wat informatie hierover in de MacPorts-gids hier . Veel daarvan is echter verouderd voor MacPorts 2.0.x. Totdat de gids is bijgewerkt, is er informatie die hier . De veiligste benadering zou zijn om voor elke ondersteunde OS X-release een andere set pakketten te bouwen. Het misschien mogelijk zijn om één opwaarts compatibele set te bouwen op het oudste systeem dat nodig is:bijvoorbeeld, bouw pakketten op 10.5 die ook zouden werken op 10.6 en 10.7 systemen. Om interferentie met MacPorts-installaties van klanten te voorkomen, kunt u ook het MacPorts-basissysteem vanaf de bron bouwen en de hoofdmap van de installatie wijzigen in iets anders dan /opt/local .

Een meer idiomatische benadering van OS X zou zijn om py2app te gebruiken om een ​​applicatiebundel te maken die Python en de MySQL-clientbibliotheken bevat. Ik weet niet of iemand dat met succes heeft gedaan.

Nog een suggestie:als je niet echt een externe server nodig hebt, overweeg dan om SQLite te gebruiken. Ondersteuning voor SQLite is opgenomen in de Python Standard Library.




  1. MySQL selecteer SUM van resultaten met een LIMIT

  2. Hoe wijzig ik de naam van een primaire sleutelkolom in MySQL?

  3. Hoe te groeperen op datum, rekening houdend met tijdzones en DST?

  4. MySQL JSON-opslag versus twee tabellen