J'ai déjà installé Microsoft Visual Studio 2008. J'ai téléchargé le fichier Zip extensions Python pour Windows et extrait le contenu dans mon dossier Python27. Il y a maintenant un sous-dossier appelé pywin32-214. (La partie 32 est-elle un problème? Je suis sur un système 64 bits.) Voici une transcription de la ligne de commande:
C:\Python27\pywin32-214>setup.py -q install
Building pywin32 2.7.214.0
Traceback (most recent call last):
File "C:\Python27\pywin32-214\setup.py", line 2152, in <module>
('', ('pywin32.pth',)),
File "C:\Python27\lib\distutils\core.py", line 152, in setup
dist.run_commands()
File "C:\Python27\lib\distutils\dist.py", line 953, in run_commands
self.run_command(cmd)
File "C:\Python27\lib\distutils\dist.py", line 972, in run_command
cmd_obj.run()
File "C:\Python27\pywin32-214\setup.py", line 1251, in run
install.run(self)
File "C:\Python27\lib\distutils\command\install.py", line 563, in run
self.run_command('build')
File "C:\Python27\lib\distutils\cmd.py", line 326, in run_command
self.distribution.run_command(command)
File "C:\Python27\lib\distutils\dist.py", line 972, in run_command
cmd_obj.run()
File "C:\Python27\pywin32-214\setup.py", line 596, in run
build.run(self)
File "C:\Python27\lib\distutils\command\build.py", line 127, in run
self.run_command(cmd_name)
File "C:\Python27\lib\distutils\cmd.py", line 326, in run_command
self.distribution.run_command(command)
File "C:\Python27\lib\distutils\dist.py", line 972, in run_command
cmd_obj.run()
File "C:\Python27\lib\distutils\command\build_ext.py", line 340, in run
self.build_extensions()
File "C:\Python27\pywin32-214\setup.py", line 858, in build_extensions
self.compiler.initialize()
File "C:\Python27\lib\distutils\msvc9compiler.py", line 383, in initialize
vc_env = query_vcvarsall(VERSION, plat_spec)
File "C:\Python27\lib\distutils\msvc9compiler.py", line 299, in query_vcvarsal
l
raise ValueError(str(list(result.keys())))
ValueError: [u'path']
Je ne sais pas quoi en penser. Aidez-moi?
Si vous avez une installation 64 bits Python installation:
Installez "Microsoft Visual Studio 2008 Professional Edition" avec l'option "X64 Compiler and Tools" activée.
Vous pouvez également télécharger pywin32-214.win-AMD64-py2.7.exe à partir de http://sourceforge.net/projects/pywin32/files/pywin32/Build%20214/
Une autre raison possible de l'apparition de ce problème est que vous venez d'installer Visual Studio et que l'invite de commande que vous utilisez était en attente depuis le moment avant l'installation.
Cela est dû au fait que le programme d'installation de MSVC définit peu de variables d'environnement et l'une de ces variables (VS90COMNTOOLS) doit être définie pour vcvarsall.bat pour s'exécuter correctement. Mais chaque programme en cours d'exécution dans Windows possède sa propre copie locale des variables d'environnement qui est héritée (copiée) du processus parent au démarrage de l'enfant. Ainsi, après le démarrage de l'enfant, il ne reçoit pas les modifications effectuées sur les envvars au niveau du système. Et le seul moyen d'obtenir des variables d'environnement mises à jour consiste à générer une nouvelle instance d'un processus enfant avec un parent qui a mis à jour la version d'envvars.
Comme indiqué, il essaie d'utiliser un compilateur 32 bits pour le python 64 bits. J'ai pu construire avec succès en:
vcvarsx86_AMD64.bat
Dans C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_AMD64
(dépend de votre configuration)SET VS90COMNTOOLS=%VS120COMNTOOLS%
(Dépend de la configuration, voir https://stackoverflow.com/a/10558328/2362877 )vcvarsx86_AMD64.bat
pip install <package>
Aucune de ces réponses n'a fonctionné pour moi mais j'ai trouvé la solution sur le tracker de problème:
Source: http://bugs.python.org/issue7511
Si vous êtes fixé sur Python 2,7 64 bits (comme je le suis) et trop bon marché pour acheter VS2008 Professional, vous pouvez également télécharger VS2008 Express et installer le SDK Windows 7 pour obtenir un 64- compatible- compilateur de bits gratuitement. Après cela, exécutez le script SetEnv.Cmd du SDK Windows 7 puis le fichier setup.py:
> "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd"
> setup.py -q install
SetEnv.Cmd doit configurer toutes les variables d'environnement dont vous avez besoin pour la génération. Lors de son exécution, un message devrait indiquer "Ciblage du débogage Windows 7 x64". Vous pouvez également utiliser cette commande pour compiler en mode Release:
> "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" /Release
> setup.py -q install
J'ai essayé toutes les autres réponses et bien plus encore. J'ai fini par installer python 32 bits, ce qui a résolu le problème immédiatement.
Si c'est une option, c'est probablement la solution la plus simple.
Les extensions Python pour Windows ne sont prises en charge que sur
MS Windows 32 bits (95/98), MS Windows 32 bits (NT/2000/XP), Tous les MS Windows 32 bits (95/98/NT/2000/XP), Win2K, WinXP, WinCE
Tiré de la page du projet sourceforge . On dirait que vous n'avez peut-être pas de chance!
EDIT: Cependant ... lire this semble impliquer le contraire.