msvc9compiler needs to check for the VS110COMNTOOLS environment variable in order to support Visual Studio 2012. Currently it complains "cannot find vcvarsall.bat". The following workaround works for now: SET VS90COMNTOOLS=%VS110COMNTOOLS%
Why? :) I ask because all the application I depend upon only run against Python 2.x (Rhodecode, Mercurial, etc). I'd love for them to upgrade but it's not really in my control. Has there been some sort of policy change within Python to stop supporting 2.x?
msvc9compiler should not look for any versions of MSVC other than 9.0, since extensions built using other versions will be subtly (or dramatically) incompatible with Python unless you also rebuild Python itself with the same MSVC version. You can set DISTUTILS_USE_SDK=1 and run from the VS 2012 Developer Command Prompt (or otherwise configure your environment) if you are willing to accept the risk, but ensure you test the built extension thoroughly. Hopefully, 3.5 will switch to the next version of MSVC (14) and will be able to detect and use all later releases, so this particular problem won't exist in the future. There's nothing we can/will do for 2.x at this stage.