问题再现:
在windows安装第三方库的时候报错:
这种报错不是安装所有的第三方库都会出现,部分库的安装过程中会报这样的错误,原因是什么?
原因:
官方解释
从官方解释中看出,是因为:
Even though Python is an interpreted language,
you may need to install Windows C++ compilers in some cases.
Unlike Linux, compilers for Windows are not included by default in the OS.
当安装非纯Python包、而且该包没有wheel文件的时候,需要安装windows下的c++编译器。因为windows不像linux一样默认包含了c++编译器,所以需要我们自己手动安装visual studio 。
什么是wheel文件?
wheel是新的Python的disribution,用于替代Python传统的egg文件。目前有超过一半的库文件有对应的wheel文件。
wheel的优势如下:
1.对纯python和原生C扩展包更快安装。
2.安装C扩展不需要OS X和Windows下编译器的协助。
3.在跨平台和机器的情况下更加方便安装。
Python的第一个主流打包格式是.egg文件,现在又有了一个叫做Wheel(.whl)的新成员。wheel“被设计成包含PEP 376兼容安装(一种非常接近于磁盘上的格式)的所有文件”。.whl文件有一点与.egg文件相似:实际上它们都是“伪装的”.zip文件。如果你将.whl文件名扩展改为.zip,你就可以使用你的zip应用程序打开它,并且可以查看它包含的文件和文件夹。
如果你在安装包的时候报错需要vc++14.0,你可以在这里找到相应的.whl文件进行下载,而不用下载,vc++14.0,当然这种方式不是长久之计,有的包没有.whl文件,这时还是需要安装vc++14.0.
下载链接
微软提供了官方的c++编译器:Visual C++,但是很多情况下它都和vs捆绑在了一起,对于一些其他的版本,即使自己是独立的c++编译器,但是也可能出现使用visual c++时,CPython官方发行版兼容的情况。所以在安装visual c++的时候需要注意版本与自己的Python版本以及计算机的字长。
在下载解释器(Visual C++)之前,需要升级或者安装setuptools,因为它包含了兼容性的升级与编译器的自动调用,命令:
python -m pip install --upgrade pip wheel setuptools
下面给出visual c++ 14.0的网盘下载链接:
链接:https://pan.baidu.com/s/1lSClj_R4_rEnDbyrbO694A
提取码:1111
安装14.0的时候可以直接选择默认值,如果想自定义:
请务必勾选这几个选项:
还要保证setuptools版本至少为24.0.
安装好了之后重新pip install 即可成功。