Infelizmente, não há realmente nenhuma solução trivial no momento. Se você precisar usar MySQL com Python, a solução mais simples e confiável no OS X é instalar tudo - Python, MySQLdb, quaisquer outros pacotes Python de terceiros necessários, bibliotecas de cliente MySQL e, se necessário, bibliotecas e utilitários de servidor MySQL - usando um sistema de gerenciamento de pacotes, como MacPorts . Tentar instalar os vários componentes de fontes diferentes frequentemente apresenta problemas com executáveis e bibliotecas criados por incompatibilidade:32 bits versus 64 bits, ABIs diferentes (10.3 versus 10.6) etc.
Para um sistema com Xcode e o sistema base MacPorts instalado, você pode construir e instalar tudo com um comando:
sudo port install py27-mysql
Se você precisar do servidor MySQL também:
sudo port install py27-mysql mysql5-server
Todos os executáveis instalados no MacPorts serão instalados por padrão em
/opt/local
, então você só precisa executar as coisas a partir daí:/opt/local/bin/python2.7
Para facilitar para seus usuários, você deve ser capaz de usar MacPorts para construir o conjunto de portas necessárias como arquivos binários e configurar um script para instalar o sistema base MacPorts e então seus pacotes pré-construídos. Há algumas informações sobre isso no Guia MacPorts aqui . No entanto, muito disso está desatualizado para MacPorts 2.0.x. Até que o Guia seja atualizado, há informações começando aqui . A abordagem mais segura seria construir um conjunto diferente de pacotes para cada versão do OS X suportada. Ele pode ser possível construir um conjunto compatível com versões anteriores no sistema mais antigo necessário:digamos, construir pacotes no 10.5 que também funcionariam nos sistemas 10.6 e 10.7. Para evitar interferência nas instalações do cliente MacPorts, você também pode construir o sistema base MacPorts a partir da fonte e alterar a raiz da instalação para algo diferente de
/opt/local
. Uma abordagem mais idiomática no OS X seria usar py2app para criar um pacote de aplicativos que inclua o Python e as bibliotecas cliente do MySQL. Não sei se alguém conseguiu fazer isso com sucesso.
Outra sugestão:se você realmente não precisa de um servidor remoto, considere usar o SQLite. Suporte para SQLite está incluído na biblioteca padrão do Python.