¿Cómo apunto easy_install a vcvarsall.bat?

Ya tengo instalado MSVC ++ 2010 Express, y mi archivo vcvarsall.bat se encuentra en C:\Program Files\Microsoft Visual Studio 10.0\VC , que se encuentra en mi sistema PATH. Cuando ejecuto easy_install , no puedo encontrar vcvarsall.bat.

¿Hay algo que deba configurar en mi archivo distutils.cfg para que apunte a mi instalación de MSVC ++?

 G:\>easy_install hg-git install_dir C:\Python26\Lib\site-packages\ Searching for hg-git Best match: hg-git 0.2.6 Processing hg_git-0.2.6-py2.6.egg hg-git 0.2.6 is already the active version in easy-install.pth Using c:\python26\lib\site-packages\hg_git-0.2.6-py2.6.egg Processing dependencies for hg-git Searching for dulwich>=0.6.0 Reading http://pypi.python.org/simple/dulwich/ Reading http://samba.org/~jelmer/dulwich Reading http://launchpad.net/dulwich Best match: dulwich 0.7.1 Downloading http://www.samba.org/~jelmer/dulwich/dulwich-0.7.1.tar.gz Processing dulwich-0.7.1.tar.gz Running dulwich-0.7.1\setup.py -q bdist_egg --dist-dir c:\docume~1\mlin\locals~1 \temp\easy_install-fhraep\dulwich-0.7.1\egg-dist-tmp-qozily error: Setup script exited with error: Unable to find vcvarsall.bat 

Todavía me gustaría saber dónde establecer esa referencia a vsvarsall.bat …

Bueno, como escribió Martin, debes tener instalado Visual Studio 2008 o Visual C ++ Express. Dicho esto, entiendo que le gustaría saber dónde busca Python este archivo por lotes. Puede ver esto mirando la definition de la función find_vcvarsall en el módulo estándar distutils / msvc9compiler.py. Python verifica a su vez si alguna de las carpetas guardadas en el registro bajo las claves

  • HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\VisualStudio\9.0\Setup\VC\ProductDir
  • HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\VCExpress\9.0\Setup\VC\ProductDir

(para Windows de 64 bits) o

  • HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\Setup\VC\ProductDir
  • HKEY_LOCAL_MACHINE\Software\Microsoft\VCExpress\9.0\Setup\VC\ProductDir

(para Windows de 32 bits) existe y, de ser así, trata dicha carpeta como la que contiene el archivo vcvarsall.bat . Si no existe ninguna de estas carpetas, Python verifica si hay una variable de entorno VS90COMNTOOLS . Si esta variable sale, Python trata a la carpeta dos niveles por encima del valor de esta variable como la carpeta que contiene el archivo vcvarsall.bat .

Vea también mi otra respuesta que explica por qué no puede usar MSVC ++ 2010 para comstackr extensiones para Python 2.6

EDITAR: Los archivos de VC ++ 2008 ahora están empaquetados en un instalador de MS que se puede descargar aquí . Una vez instalado, vcvarsall.bat estará en C:\Users\username\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0