web-dev-qa-db-fra.com

Python: Comment installer mysqldb sur Windows 7 x64?

Im essayant d'installer Mysql-python sur Windows x64.

J'ai installé python x64, setuptools (vérifié sur leaf lib, installé avec succès) mais je ne peux pas installer mysqldb =. J'essaye d'exécuter

C:\Users\Fedcomp\Desktop\leaf-0.4\MySQL-python-1.2.3> installation de python setup.py

mais attrape ça

In file included from _mysql.c:34:
D:\servers\xampp_server\xampp\mysql\include/config-win.h:211:1: warning: "finite
" redefined
D:\servers\xampp_server\xampp\mysql\include/config-win.h:164:1: warning: this is
 the location of the previous definition
D:\servers\xampp_server\xampp\mysql\include/config-win.h:277:1: warning: "HAVE_S
TDDEF_H" redefined
In file included from D:\Python27\include/Python.h:8,
                 from pymemcompat.h:10,
                 from _mysql.c:29:
D:\Python27\include/pyconfig.h:673:1: warning: this is the location of the previ
ous definition
error: command 'gcc' failed with exit status 1

essayez également avec msvc mais attrapez ceci (MS Visual express installé)

C:\Users\Fedcomp\Desktop\leaf-0.4\MySQL-python-1.2.3>python setup.py install bui
ld --compiler=msvc
running install
running bdist_Egg
running Egg_info
writing MySQL_python.Egg-info\PKG-INFO
writing top-level names to MySQL_python.Egg-info\top_level.txt
writing dependency_links to MySQL_python.Egg-info\dependency_links.txt
reading manifest file 'MySQL_python.Egg-info\SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'MANIFEST'
warning: no files found matching 'ChangeLog'
warning: no files found matching 'GPL'
writing manifest file 'MySQL_python.Egg-info\SOURCES.txt'
installing library code to build\bdist.win-AMD64\Egg
running install_lib
running build_py
copying MySQLdb\release.py -> build\lib.win-AMD64-2.7\MySQLdb
running build_ext
building '_mysql' extension
error: Unable to find vcvarsall.bat

Comment installer correctement mysqldb sur windows x64? (en-têtes de l'installation originale de mysql car, sur le serveur xampp, ils n'existent pas)

Ou quelqu'un peut-il compiler mysqldb pour Windows python x64 ou python x86?

18
Fedcomp

[~ # ~] edit [~ # ~] : mysqlclient a des packages binaires pour 32 bits et 64 bits sur PyPI . C'est un fork de MySQL-python, qui n'a pas vu de version depuis 2014.

Réponse originale laissée à la postérité:

Vous pouvez trouver des installateurs binaires ici (Python 2.6-3.2), ici (2.7) ou ici (2.6). Notez que vous n'avez pas besoin d'utiliser 64 bits Python sur Windows x64. Vous pouvez tout aussi bien utiliser une version 32 bits de Python, pour laquelle il existe plus de packages tiers pré-construits.

35
Benjamin Wohlwend

Je ne suis pas sûr à 100%, mais je pense que vos variables de chemin sont à blâmer. Il semble que le compilateur ne soit pas trouvé, lancez une recherche sur vcvarsall.bat et double-cliquez dessus, il devrait correctement définir vos variables de chemin. Et puis essayez de réinstaller votre package. Si vous ne trouvez pas vcvarsall.bat, réinstallez MS Visual Express.

2
user656781

"Impossible de trouver vcvarsall.bat" signifie que vous n'avez pas les répertoires Visual Studio nécessaires dans votre chemin.

Cependant, si vous utilisez 64 bits Python, vous aurez besoin d'un compilateur 64 bits et Express n'est pas disponible en versions 64 bits. Vous pouvez télécharger le compilateur SDK MSVC et le configurer mais son travail très dur.

Si j'étais vous, je passerais à 32 bits Python et vous pouvez presque sûrement obtenir des binaires pré-construits.

MODIFIER

Les binaires 64 bits pré-construits trouvés par piquadrat seraient encore plus simples!

1
David Heffernan