轉自:http://blog.csdn.net/sad_sugar/article/details/73743863函數
系統配置:Windows10 x64, Visual Studio 2017, Python2.7.1ui
報錯信息:error: Unable to find vcvarsall.bat.net
報錯緣由:在生成的時候,編譯器從%PythonInstallPath%\distutils\msvc9compiler.py裏的219行find_vcvarsall(version)函數中找不到vcvarsall.bat文件。blog
更具體的緣由是,msvc9compiler.py從sys.version裏提取MSVC的版本號,可是在註冊表中並無根據版本號找到vcvarsall.bat,在系統的環境變量中也沒有找到版本號對應的路徑。後來我根據版本號,在環境變量中添加了路徑,但由於msvc9compiler.py主要是針對VS2008和VS2010所作的路徑識別,所以仍是不能正確地找到vcvarsall.bat。編譯器
解決方法:直接在find_vcvarsall(version)函數中返回vcvarsall.bat的絕對路徑。io
例如在個人計算機中,msvc9compiler.py的路徑是D:\Program Files\Python27\Lib\distutils\msvc9compiler.py,其中find_vcvarsall在第219行,vcvarsall.ba的路徑是C:\Program Files (x86)\Microsoft Visual Studio\Preview\Enterprise\VC\Auxiliary\Build\vcvarsall.bat"。在def find_vcvarsall(version):下面直接添上編譯
vcvarsall = r"C:\Program Files (x86)\Microsoft Visual Studio\Preview\Enterprise\VC\Auxiliary\Build\vcvarsall.bat"
return vcvarsall;變量
保存便可。配置