Error de valor al intentar instalar Python para extensiones de Windows

Ya tengo instalado Microsoft Visual Studio 2008. Descargué el archivo zip Python para extensiones de Windows y extraje el contenido en mi carpeta Python27. Ahora hay una subcarpeta llamada pywin32-214. (¿Es la parte 32 un problema? Estoy en un sistema de 64 bits.) Aquí hay una transcripción de la línea de comandos:

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  ('', ('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'] 

No sé qué hacer con esto. ¿Ayuda?

Si tienes una instalación de Python de 64 bits:

Instale “Microsoft Visual Studio 2008 Professional Edition” con la opción “Comstackdor y herramientas X64” habilitada.

Alternativamente, descargue pywin32-214.win-amd64-py2.7.exe desde http://sourceforge.net/projects/pywin32/files/pywin32/Build%20214/

Otra posible razón para que aparezca este problema es que acabas de instalar Visual Studio y el indicador de comandos que estás usando no se había actualizado desde el momento anterior a la instalación.

Esto se debe a que el instalador de MSVC establece pocas variables de entorno y una de estas variables (VS90COMNTOOLS) debe configurarse para que vcvarsall.bat se ejecute correctamente. Pero cada progtwig en ejecución en Windows tiene su propia copia local de las variables de entorno que se heredan (copian) del proceso principal en el inicio secundario. Por lo tanto, después de que el niño haya comenzado, no recibe las alteraciones realizadas en los entornos a nivel del sistema. Y la única forma de obtener las variables de entorno actualizadas es generar una nueva instancia de un proceso secundario con un padre que haya actualizado la versión de envvars.

Como se indicó, está intentando usar un comstackdor de 32 bits para python de 64 bits. Pude construir con éxito por:

  1. Encontrar vcvarsx86_amd64.bat en C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64 (depende de su configuración)
  2. Abra un indicador de cmd
  3. Ejecute SET VS90COMNTOOLS=%VS120COMNTOOLS% (depende de la configuración, consulte https://stackoverflow.com/a/10558328/2362877 )
  4. Ejecuta vcvarsx86_amd64.bat
  5. Entonces pip install

Ninguna de estas respuestas funcionó para mí, pero encontré la solución en el rastreador de problemas:

  1. Abrir cmd.
  2. cd “C: \ Archivos de progtwig (x86) \ Microsoft Visual Studio 9.0 \ VC \ bin”
  3. Escriba vcvars32.bat o vcvars64.bat
  4. En el mismo aviso y sin cierre: vuelva al módulo de Python que está intentando instalar.
  5. El código debería instalar ahora.

Fuente: http://bugs.python.org/issue7511

Si tiene problemas con Python 2.7 de 64 bits (como yo) y es demasiado barato para comprar el VS2008 Professional, también puede descargar VS2008 Express e instalar el SDK de Windows 7 para obtener un comstackdor de 64 bits gratis. Después de eso, ejecute el script SetEnv.Cmd del SDK de Windows 7 y luego el archivo setup.py:

 > "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" > setup.py -q install 

El SetEnv.Cmd debe configurar todas las variables de entorno que necesita para la comstackción. Cuando se ejecuta, debería aparecer un mensaje que dice “Dirigiéndose a la depuración de Windows 7 x64”. También puedes usar este comando para comstackr en modo Release:

 > "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" /Release > setup.py -q install 

Python para extensiones de Windows solo es compatible con

MS Windows de 32 bits (95/98), MS Windows de 32 bits (NT / 2000 / XP), todos los MS Windows de 32 bits (95/98 / NT / 2000 / XP), Win2K, WinXP, WinCE

Tomado de la página del proyecto sourceforge . Parece que puedes estar fuera de suerte!

EDIT: Sin embargo … leer esto parece implicar lo contrario.

Intenté todas las otras respuestas y mucho más. Terminé de instalar Python de 32 bits, que solucionó el problema de inmediato.

Si esta es una opción, lo más probable es que sea la solución más fácil.