102 votes

MySQL pour Python sous Windows

Je trouve difficile d'utiliser MySQL avec Python dans mon système Windows.

J'utilise actuellement Python 2.6. J'ai essayé de compiler le code source de MySQL-python-1.2.3b1 (qui est censé fonctionner pour Python 2.6 ?) en utilisant les scripts d'installation fournis. Le script d'installation s'exécute et il ne signale aucune erreur mais il ne génère pas le module _mysql.

J'ai également essayé de configurer MySQL pour Python 2.5, sans succès. Le problème de l'utilisation de la version 2.5 est que Python 2.5 est compilé avec Visual Studio 2003 (je l'ai installé en utilisant les binaires fournis). J'ai visual studio 2005 sur mon système Windows. Par conséquent, setuptools ne parvient pas à générer le module _mysql.

Une aide ?

127voto

itsadok Points 12971

Page de téléchargement de python-mysqldb . La page comprend des binaires pour les versions 32 et 64 bits de Python 2.5, 2.6 et 2.7.

Il y a aussi discussion sur la suppression de l'avertissement de dépréciation .

UPDATE : Il s'agit d'une ancienne réponse. Actuellement, je recommande d'utiliser PyMySQL. C'est du pur python, donc il supporte tous les OS de la même manière, c'est presque un remplacement direct de mysqldb, et il fonctionne aussi avec python 3. La meilleure façon de l'installer est d'utiliser pip. Vous pouvez l'installer à partir de aquí (plus d'instructions aquí ), puis exécutez :

pip install pymysql

31voto

Cela peut ressembler à un conseil de grand-père, mais toutes les réponses ici n'ont pas mentionné la meilleure façon de faire : l'installation de l'appareil. ActivePython au lieu des binaires Windows de python.org. Pendant longtemps, je me suis demandé pourquoi le développement de Python sous Windows était si difficile - jusqu'à ce que j'installe activestate python. Je ne suis pas affilié à eux. C'est tout simplement la vérité. Écrivez-la sur tous les murs : Développement de Python sur Windows = ActiveState ! alors vous pypm install mysql-python et tout fonctionne bien. pas d'orgie de compilation. pas d'erreurs étranges. pas de terreur. Il suffit de commencer à coder et à faire du vrai travail après cinq minutes. C'est la seule façon de procéder sous Windows. Vraiment.

15voto

En tant que novice dans l'apprentissage de l'écosystème Python, je viens juste de terminer ceci.

  1. Installer setuptools instructions

  2. Installez MySQL 5.1. Téléchargez le MSI de 97.6MB à partir de aquí Vous ne pouvez pas utiliser la version essentielle car elle ne contient pas les bibliothèques C.
    Assurez-vous de sélectionner une installation personnalisée, et de marquer les outils de développement / bibliothèques pour l'installation, car cela n'est pas fait par défaut. Ceci est nécessaire pour obtenir les fichiers d'en-tête C.
    Vous pouvez vérifier que vous avez fait cela correctement en cherchant dans votre répertoire d'installation un dossier nommé "include". E.G C:\Program Fichiers \MySQL\MySQL Serveur 5.1 \include. Il devrait avoir un tas de fichiers .h.

  3. Installez Microsoft Visual Studio C++ Express 2008 à partir de aquí Ceci est nécessaire pour obtenir un compilateur C.

  4. Ouvrez une ligne de commande en tant qu'administrateur (cliquez avec le bouton droit de la souris sur le raccourci Cmd, puis "Exécuter en tant qu'administrateur". Veillez à ouvrir une nouvelle fenêtre après vous avez installé ces choses ou votre chemin ne sera pas mis à jour et l'installation échouera toujours.

  5. A partir de l'invite de commande :

    easy_install -b C:\temp\sometempdir mysql-python

    Cela échouera - ce qui n'est pas grave.

    Maintenant, ouvrez le fichier site.cfg dans votre répertoire temporaire. C:\temp\sometempdir et modifiez le paramètre "registry_key" pour :

    registry_key = SOFTWARE \MySQL AB \MySQL Serveur 5.1

    maintenant CD dans votre répertoire temporaire et :

    python setup.py clean

    python setup.py install

    Vous devriez être prêt à vous éclater !

  6. Ici est un script super simple pour commencer à apprendre l'API Python DB pour vous - si vous en avez besoin.

7voto

J'ai trouvé un endroit où une personne avait réussi à construire mysql pour python2.6, en partageant le lien, http://www.technicalbard.com/files/MySQL-python-1.2.2.win32-py2.6.exe

...il se peut que vous voyiez un avertissement lors de l'importation de MySQLdb, ce qui n'est pas grave et ne nuit à rien,

C:\Python26\lib\site -packages \MySQLdb__init__.py :34 : DeprecationWarning : le module sets est déprécié from sets import ImmutableSet

5voto

JasonFruit Points 3709

Qu'en est-il pymysql ? C'est du Python pur, et je l'ai utilisé sous Windows avec un succès considérable, en contournant les difficultés de compilation et d'installation de mysql-python.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X