Unable to find vcvarsall.bat

0. 前言

在Windows下面安装python C/C++ extension的扩展包时很多时候都会遇到这个问题

本人也困扰了两天,看了不少的博客,很多人的建议就是下载VS对应版本,或者MinGW,当然这些事情我都做过,有时候真的能起到作用,MinGW有一个好处就是可以在Windows下面安装gcc、g++,有的时候扩招包要求用gcc编译时还是有点作用

1. 安装

本人尝试在python3.7和python2.7下安装一个扩展包:

\*前提是本人已经安装过VS2017,本人在看博客时,很多时候都在建议下载安装VS,但是很多人就是不想安装,对于VS,本人觉得至少要安装一个吧,不然也算不上一个合格的程序狗*\

 

2. 在python3.7下安装扩展包

Unable to find vcvarsall.bat_第1张图片

图片来自博客: https://www.cnblogs.com/yyds/p/7065637.html

本人相信这个时候一般用python3的大多数都是python3.6或者python3.7了,所以就老老实实的安装一个VS2015或者VS2017吧,注意在环境变量里面添加上安装路径,VS还是很友好,很多时候不用我们自己添加,它自己处理好了,如果还是找不到就得确认一下路径的问题,至于VS的安装在此不再赘述

如果扩展包报错找不到gcc,那就安装MinGW:https://sourceforge.net/projects/mingw/

这样我就成功了

 

2. 在python2.7下安装扩展包:

先说明,我使用的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

看到博客说添加环境变量:

Unable to find vcvarsall.bat_第2张图片

图片来自博客: 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

Unable to find vcvarsall.bat_第3张图片

 

第二:找到函数find_vcvarsall(第222行),添加return r'你的Microsoft Visual C++ Compiler for Python 2.7路径'

Unable to find vcvarsall.bat_第4张图片

 

这样,再去编译扩展包就成了

感谢众多的博客们

 

你可能感兴趣的:(日用小技能)