Windows下Python快速解决error: Unable to find vcvarsall.bat

Posted clblacksmith

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows下Python快速解决error: Unable to find vcvarsall.bat相关的知识,希望对你有一定的参考价值。

转自:http://blog.csdn.net/sad_sugar/article/details/73743863

系统配置:Windows10 x64, Visual Studio 2017, Python2.7.1

报错信息:error: Unable to find vcvarsall.bat

报错原因:在生成的时候,编译器从%PythonInstallPath%\distutils\msvc9compiler.py里的219行find_vcvarsall(version)函数中找不到vcvarsall.bat文件。

更具体的原因是,msvc9compiler.py从sys.version里提取MSVC的版本号,但是在注册表中并没有根据版本号找到vcvarsall.bat,在系统的环境变量中也没有找到版本号对应的路径。后来我根据版本号,在环境变量中添加了路径,但因为msvc9compiler.py主要是针对VS2008和VS2010所做的路径识别,因此还是不能正确地找到vcvarsall.bat。

解决方法:直接在find_vcvarsall(version)函数中返回vcvarsall.bat的绝对路径。

例如在我的计算机中,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;

保存即可。

以上是关于Windows下Python快速解决error: Unable to find vcvarsall.bat的主要内容,如果未能解决你的问题,请参考以下文章

windows下使用pip安装模块发生“failed with error code 1”的解决方法

windows下Python扩展问题error: Unable to find vcvarsall.bat

Python error: Microsoft Visual C++ 9.0 is required 解决方案

windows下,cmd 运行 python 脚本,选中文字就停止运行了已解决

python MySQLdb Windows下安装教程及问题解决方法

[解决] python WindowsError: [Error 3]