在Windows下面安装python C/C++ extension的扩展包时很多时候都会遇到这个问题
本人也困扰了两天,看了不少的博客,很多人的建议就是下载VS对应版本,或者MinGW,当然这些事情我都做过,有时候真的能起到作用,MinGW有一个好处就是可以在Windows下面安装gcc、g++,有的时候扩招包要求用gcc编译时还是有点作用
本人尝试在python3.7和python2.7下安装一个扩展包:
\*前提是本人已经安装过VS2017,本人在看博客时,很多时候都在建议下载安装VS,但是很多人就是不想安装,对于VS,本人觉得至少要安装一个吧,不然也算不上一个合格的程序狗*\
图片来自博客: https://www.cnblogs.com/yyds/p/7065637.html
本人相信这个时候一般用python3的大多数都是python3.6或者python3.7了,所以就老老实实的安装一个VS2015或者VS2017吧,注意在环境变量里面添加上安装路径,VS还是很友好,很多时候不用我们自己添加,它自己处理好了,如果还是找不到就得确认一下路径的问题,至于VS的安装在此不再赘述
如果扩展包报错找不到gcc,那就安装MinGW:https://sourceforge.net/projects/mingw/
这样我就成功了
先说明,我使用的anaconda,python2.7只是里面的一个子环境,为python2.7安装扩展包的时候,遇到了不少的麻烦,很多博客说python2.7需要搭配VS2008或者VS2010等等,我已经有一个VS2017了,我不想再下载其他VS版本
有一个好东西就是Microsoft Visual C++ Compiler for Python 2.7 :https://www.microsoft.com/en-us/download/details.aspx?id=44266
安装后还是报错……
本人猜测就是anaconda里面的环境找不到我安装的Microsoft Visual C++ Compiler for Python 2.7
看到博客说添加环境变量:
图片来自博客: https://blog.csdn.net/liwugang43210/article/details/50732920
添加了还是不行
最后一篇博客:https://www.cnblogs.com/lazyboy/p/4017567.html非常有用
找到python2.7的路径:.\Anaconda3\envs\python27\Lib\distutils
找到:msvc9compiler.py
修改两个地方:
第一:找到函数get_build_version(第172行),添加return 9.0
第二:找到函数find_vcvarsall(第222行),添加return r'你的Microsoft Visual C++ Compiler for Python 2.7路径'
这样,再去编译扩展包就成了
感谢众多的博客们