再谈 Microsoft Visual C++ 14.0 is required 问题

起步

相信很多 python 开发者在安装一些 C 扩展时候,由于 win 平台缺少编译 C 的环境,经常会报 Visual C++ xxx is required 。今天我安装 hiredis 也遇到了。

20180615100335.png

用别人编译好了的包

这是其中一种方法,可以现在 https://www.lfd.uci.edu/~gohlke/pythonlibs/ 里面找找有没有与之匹配的,如果有,那么恭喜,问题可以直接解决,下载与本地 python 版本相应的 whl 文件,在通过 pip install xxx.whl 就能成功安装了。

Visual Studio

当找不到别人分享的包时,就得找下其他方法了。 如果本地电脑有安装 Visual Studio 软件的话,Visual C++ 都是会附带安装的。于是我安装了 Visual Studio 2017 之后再试,还是不行,实在气人,查了一下:

Visual Studio 2013 ---> 12 
Visual Studio 2015 ---> 14 
Visual Studio 2017 ---> 15

感觉版本高了也不行,这个扩展咋这么傲娇啊,于是我又把 2017 卸载了,因为整个 Visual Studio ,有的为了省事,会取微软官网找 Visual C++VC_redist.x64.exe 这个就很小了, 不到 20MB 的安装包。这边不给下载地址,是因为安装之后,再用 pip 会有另一个错:

20180615101440.png

得知是缺少 basetsd.h

解决

我这边分享的安装器,也是会安装 Visual C++ 2015 的,这个是

visualcppbuildtools_full.zip

并根据您的操作系统选择Windows 8.1 / 10 SDK。这将修复 basestd.h 错误。

这个sdk也可以单独来安装, 如果是 win10 用户,可以从 这里 下载安装后也能修复 basestd.h 问题。

安装后再试:

20180615102821.png

这就很舒服了。