Python之Unable to find vcvarsall.bat

Windows上Python安装点什么,如果需要编译,很有可能就出现这个错误了:

Unable to find vcvarsall.bat

这个错误的原因很简单,就是找不到MSVC的编译器,而我就是不想用MSVC,我喜欢MinGW,于是配置一下:

  1. 写入$PYTHON_PATH/Lib/distutils/distutils.cfg
[build]
compiler=mingw32

以前这样就大功告成了,但是现在MSVC版本太多,Python有点跟不上了(MinGW最终也是要调用MSVCRT库的),于是需要再打个补丁。(参考StackOverflow)

  1. 修改$PYTHON_PATH/Lib/distutils/cygwinccompiler.py
   # ...
   elif msc_ver == '1600':
       # VS2010 / MSVC 10.0
       return ['msvcr100']
   # 添加以下内容:
   elif msc_ver == '1700':
       # Visual Studio 2012 / Visual C++ 11.0
       return ['msvcr110']
   elif msc_ver == '1800':
       # Visual Studio 2013 / Visual C++ 12.0
       return ['msvcr120']
   elif msc_ver == '1900':
       # Visual Studio 2015 / Visual C++ 14.0
       # "msvcr140.dll no longer exists" http://blogs.msdn.com/b/vcblog/archive/2014/06/03/visual-studio-14-ctp.aspx
       return ['vcruntime140']

你可能感兴趣的:(Python之Unable to find vcvarsall.bat)