web-dev-qa-db-fra.com

Intégration de MySQL avec Python dans Windows

J'ai du mal à utiliser MySQL avec Python dans mon système Windows.

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

J'ai également essayé de configurer MySQL pour Python 2.5 sans succès. Le problème avec l'utilisation de 2.5 est que Python 2.5 est compilé avec visual studio 2003 (j'ai installé utilisant Visual Studio 2005 sur mon système Windows, donc setuptools ne parvient pas à générer le module _mysql.

De l'aide ?

101
Sammy

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

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

[~ # ~] update [~ # ~] : c'est une ancienne réponse. Actuellement, je recommanderais d'utiliser PyMySQL. C'est du pur python, donc il supporte tous les systèmes d’exploitation de la même manière, c’est presque un remplacement immédiat de mysqldb, et cela fonctionne aussi avec python 3. Le meilleur moyen de l’installer est de pip. Vous pouvez installez-le à partir de ici (plus d'instructions ici ), puis exécutez:

pip install pymysql
126
itsadok

Cela peut sembler être le conseil de votre grand-père givin, mais toutes les réponses ici ne mentionnent pas la meilleure façon: allez nd installer ActivePython au lieu des binaires Windows de python.org. Je me demandais vraiment depuis longtemps pourquoi Python, le développement sous Windows était un tel pita - jusqu’à ce que j’installe un python actif. Je ne suis pas affilié à ces logiciels. C’est la pure vérité. Écrivez-le sur chaque mur: Développement Python sous Windows = ActiveState ! Vous venez alors pypm install mysql-python et tout se passe bien. pas de compilation orgie. 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 d'aller sur les fenêtres. Vraiment.

Comme Python apprenant l'écosystème Python), je viens de terminer ceci.

  1. Installez setuptools instructions

  2. Installez MySQL 5.1. Téléchargez le fichier MSI de 97,6 Mo à partir de ici Vous ne pouvez pas utiliser la version de essentials car elle ne contient pas les bibliothèques C.
    Assurez-vous de sélectionner une installation personnalisée et de marquer les outils/bibliothèques de développement pour l'installation, car cette opération n'est pas effectuée par défaut. Ceci est nécessaire pour obtenir les fichiers d’en-tête C.
    Vous pouvez vérifier que vous avez bien effectué cela en cherchant dans votre répertoire d'installation un dossier nommé "include". E.G C:\Programmes\MySQL\MySQL Server 5.1\include. Il devrait avoir tout un tas de fichiers .h.

  3. Installez Microsoft Visual Studio C++ Express 2008 à partir de ici 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 sur "exécuter en tant qu'administrateur". N'oubliez pas d'ouvrir une nouvelle fenêtre après 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 va échouer - ce qui est OK.

    Ouvrez maintenant site.cfg dans votre répertoire temporaire C:\temp\sometempdir et modifiez le paramètre "registry_key" pour:

    registry_key = LOGICIEL\MySQL AB\MySQL Server 5.1

    maintenant CD dans votre répertoire temporaire et:

    python setup.py clean

    installation de python.py install

    Vous devriez être prêt à basculer!

  6. Ici est un script très simple pour commencer l'apprentissage de l'API DB Python) - si vous en avez besoin.

15
Willie

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

... vous pourriez voir un avertissement lors de l'importation de MySQLdb, ce qui est correct et qui ne fait de mal à rien,

C:\Python26\lib\site-packages\MySQLdb__init __. Py: 34: DeprecationWarning: le module sets est déconseillé à partir de sets import ImmutableSet

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

5
JasonFruit

On Python 3.4 J'ai installé mysqlclient à partir de http://www.lfd.uci.edu/~gohlke/pythonlibs/ avec pip installer mysqlclient et cela fonctionne.

2
Spicko

Vous n'êtes pas la seule personne à avoir des problèmes avec Python 2.6 et MySQL ( http://blog.contriving.net/2009/03/04/using-python-26- mysql-on-windows-is-presque-impossible / ). Voici une explication de la façon dont il devrait être exécuté sous Python 2.5 http://i.justrealized.com/ 2008/04/08/comment-installer-python-et-Django-dans-windows-Vista / Bonne chance

2
Mork0075
2
Dave Webb

Vous pouvez essayer d'utiliser myPySQL. C'est vraiment facile à utiliser; pas de compilation pour windows, et même si vous avez besoin de le compiler pour quelque raison que ce soit, vous avez seulement besoin de Python et Visual C sont installés (et non pas mysql).

http://code.google.com/p/mypysql/

Bonne chance

2
Gustavo Vargas

Les fichiers binaires précompilés sur http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python ne fonctionnent que pour moi.

  1. Ouvrir MySQL_python-1.2.5-cp27-none-win_AMD64.whl fichier avec le programme d’extraction Zip.
  2. Copiez le contenu dans C:\Python27\Lib\site-packages\
2
guneysus

Comme je lance python dans un virtualenv (pylônes/pyramide), je ne pouvais pas exécuter les programmes d’installation binaires (utiles) liés précédemment.

J'ai eu du mal à suivre les étapes avec la réponse de Willie, mais j’ai déterminé que c’est probablement que j’exécute l’installation de Windows 7 x64, ce qui place la clé de registre de mysql dans un emplacement légèrement différent, en particulier dans mon cas (note: exécute la version 5.5) dans: "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MySQL AB\Serveur MySQL 5.5".

CEPENDANT, "HKEY_LOCAL_MACHINE \" ne peut pas être inclus dans le chemin ou il échouera.

En outre, je devais faire un redémarrage entre les étapes 3 et 4.

Après avoir travaillé sur tout cela, IMO aurait été plus intelligent d’exécuter l’environnement = python dev entier de cygwin.

1
Evan

Si vous recherchez Python 3.2, cela semble être la meilleure solution que j'ai trouvée jusqu'à présent.

Source: http://wiki.python.org/moin/MySQL

1
Eran Medan

Vous pouvez également utiliser pyodbc avec le MySQL Connector/ODBC pour utiliser MySQL sous Windows. nixodbc est également disponible pour rendre le code compatible sous Linux. Pyodbc utilise le standard Python DB API 2. ], donc si vous vous en tenez à cette commutation entre les pilotes MySQL/PostgreSQL/SQLite/ODBC/JDBC, etc. devrait être relativement simple.

0
fijiaaron

Vous voudrez peut-être aussi envisager d'utiliser Cygwin , il contient les bibliothèques mysql python du référentiel.

0
lfaraone

J'en ai marre des problèmes d'installation avec MySQLdb et j'ai essayé pymysql .

Installation facile;

git clone https://github.com/petehunt/PyMySQL.git
python setup.py install

Et les API sont à peu près les mêmes.

0
Daniel Magnusson

la réponse de itsadok a été votée parce qu'elle m'a conduit à l'installation de python 2.7 également, qui se trouve ici: http://www.codegood.com/archives/129

0
Mark