Bohužel v tuto chvíli opravdu neexistuje žádné triviální řešení. Pokud potřebujete používat MySQL s Pythonem, nejjednodušším a nejspolehlivějším řešením na OS X je nainstalovat vše – Python, MySQLdb, jakékoli další potřebné Python balíčky třetích stran, klientské knihovny MySQL a v případě potřeby serverové knihovny a nástroje MySQL. – pomocí systému správy balíčků, jako je MacPorts . Pokus o instalaci různých komponent z různých zdrojů často naráží na problémy s nekompatibilními spustitelnými soubory a knihovnami:32bitové vs 64bitové, různá rozhraní ABI (10.3 vs 10.6) atd.
Pro systém s Xcode a základním systémem MacPorts nainstalován, můžete vše sestavit a nainstalovat jediným příkazem:
sudo port install py27-mysql
Pokud potřebujete také server MySQL:
sudo port install py27-mysql mysql5-server
Všechny spustitelné soubory nainstalované na MacPorts budou standardně nainstalovány v /opt/local
, takže stačí spustit věci odtud:
/opt/local/bin/python2.7
Abyste to svým uživatelům usnadnili, měli byste být schopni používat MacPorts k sestavení sady nezbytných portů jako binárních archivů a nastavení skriptu pro instalaci základního systému MacPorts a poté vašich předem sestavených balíčků. Některé informace o tom najdete v průvodci MacPorts zde
. Většina z toho je však pro MacPorty 2.0.x zastaralá. Dokud nebude průvodce aktualizován, začínají informace zde . Nejbezpečnějším přístupem by bylo vytvořit jinou sadu balíčků pro každé podporované vydání OS X. Mohlo by být možné sestavit jednu sestupně kompatibilní sadu na nejstarším potřebném systému:řekněme sestavit balíčky na 10.5, které by také fungovaly na systémech 10.6 a 10.7. Abyste zabránili interferenci s instalacemi MacPorts zákazníka, můžete také sestavit základní systém MacPorts ze zdroje a změnit kořen instalace na něco jiného než /opt/local
.
Idiomatičtějším přístupem na OS X by bylo použití py2app k vytvoření balíčku aplikací, který zahrnuje Python a klientské knihovny MySQL. Nevím, jestli to někdo úspěšně udělal.
Další návrh:pokud opravdu nepotřebujete vzdálený server, zvažte použití SQLite. Podpora pro SQLite je součástí standardní knihovny Pythonu.