关于python setup build编译出现找不到 vcvarsall.bat(error: Unable to find vcvarsall.bat)

For Windows installations:

While running setup.py for package installations, Python 2.7 searches for an installed Visual Studio 2008. You can trick Python to use a newer Visual Studio by setting the correct path in VS90COMNTOOLSenvironment variable before calling setup.py.

Execute the following command based on the version of Visual Studio installed:

  • Visual Studio 2010 (VS10): SET VS90COMNTOOLS=%VS100COMNTOOLS%
  • Visual Studio 2012 (VS11): SET VS90COMNTOOLS=%VS110COMNTOOLS%
  • Visual Studio 2013 (VS12): SET VS90COMNTOOLS=%VS120COMNTOOLS%
根据stackoverflow上的回答,因为python2.7需要搜索vs2008的环境变量,所以需要欺骗python2.7,让这个环境变量设置其他版本的vs的路径即可。


还可以更暴力,在“..python安装路径...\Lib\distutils目录下有个msvc9compiler.py找到243行  
toolskey = "VS%0.f0COMNTOOLS" % version   直接改为 toolskey = "VS你的版本COMNTOOLS"(这个就是为什么要配 ”VS90COMNTOOLS“ 的原因,因为人家文件名都告诉你了是  Microsoft vc 9的compiler,   代码都写死了要vc9的comntools,就要找这个玩意儿,找不到不干活)

这么做的理由是Python2。7 扩展包是可以用08版或者更高的VS编译的,其setup.py(安装脚本)都是去windows系统寻找08版的VS,所以设置VS90的path

   如果Python版本小于2.7,强烈建议使用 VS08版,用2010或者更高可能部分扩展不好使。

黑字参考自:http://blog.csdn.net/secretx/article/details/17472107


你可能感兴趣的:(关于python setup build编译出现找不到 vcvarsall.bat(error: Unable to find vcvarsall.bat))