Mysql
 sql >> Base de données >  >> RDS >> Mysql

Configuration plus facile pour écrire dans MySQL sur OSX avec Python

Malheureusement, il n'y a pas vraiment de solution triviale pour le moment. Si vous devez utiliser MySQL avec Python, la solution la plus simple et la plus fiable sur OS X consiste à tout installer - Python, MySQLdb, tout autre package Python tiers nécessaire, les bibliothèques client MySQL et, si nécessaire, les bibliothèques et utilitaires serveur MySQL. - en utilisant un système de gestion de paquets, comme MacPorts . Essayer d'installer les différents composants à partir de différentes sources se heurte fréquemment à des problèmes d'incompatibilité entre les exécutables et les bibliothèques :32 bits contre 64 bits, différents ABI (10.3 contre 10.6), etc.

Pour un système avec Xcode et le système de base MacPorts installé, vous pouvez tout compiler et installer avec une seule commande :

sudo port install py27-mysql

Si vous avez également besoin du serveur MySQL :

sudo port install py27-mysql mysql5-server

Tous les exécutables installés sur MacPorts seront installés par défaut dans /opt/local , il vous suffit donc d'exécuter les choses à partir de là :

/opt/local/bin/python2.7

Pour faciliter la tâche de vos utilisateurs, vous devriez pouvoir utiliser MacPorts pour créer l'ensemble des ports nécessaires en tant qu'archives binaires et configurer un script pour installer le système de base MacPorts, puis vos packages pré-construits. Il y a quelques informations à ce sujet dans le Guide MacPorts ici . Cependant, une grande partie de cela est obsolète pour MacPorts 2.0.x. Jusqu'à ce que le guide soit mis à jour, des informations commencent ici . L'approche la plus sûre serait de créer un ensemble différent de packages pour chaque version d'OS X prise en charge. Il pourrait être possible de créer un ensemble compatible vers le haut sur le système le plus ancien nécessaire :par exemple, créer des packages sur 10.5 qui fonctionneraient également sur les systèmes 10.6 et 10.7. Pour éviter toute interférence avec les installations MacPorts des clients, vous pouvez également créer le système de base MacPorts à partir de la source et modifier la racine d'installation en autre chose que /opt/local .

Une approche plus idiomatique sur OS X consisterait à utiliser py2app pour créer un ensemble d'applications qui inclut Python et les bibliothèques clientes MySQL. Je ne sais pas si quelqu'un l'a fait avec succès.

Autre suggestion :si vous n'avez pas vraiment besoin d'un serveur distant, envisagez d'utiliser SQLite à la place. Prise en charge de SQLite est inclus dans la bibliothèque standard Python.