官方不建议使用 64 bit python,容易出各种问题

 

Unable to find vcvarsall.bat

凡是安装与操作系统底层相关的 python 扩展都会遇到这个问题,如 PIL,Pillow,gevent 等,当然你可以直接安装编译好的,此时可能无需解决这个问题,但是你只能使用阉割版的功能

 

这个问题的原因大致如下:有些 python 扩展需要编译,而编译需要 visual C++,而你的电脑没有安装

这个问题有几种解决方案...

参考下面链接

 

亲测方法 

安装 visual studio 后,在环境变量里会自动生成对应版本的配置

如果装的是VS 2017,是看不到出现环境变量的

对于vcvarsall.bat的探测,VS2017以前的版本,可以通过VSXXXCOMNTOOLS环境变量来发现,例如:VS140COMNTOOLS对应 VS2015 
但是VS2017之后就没这个环境变量了,因此更加通用可靠的探测方式,是从注册表中查找。 
例如,VS2017的注册表项: 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\SxS\VS7;15.0)\VC\Auxiliary\Build 
VS2017之前版本路径如下: 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\SxS\VS7;14.0)\VC 
64bits版本,Microsoft之前再加个Wow6432Node。

 

然后执行如下命令

Visual Studio 2008 (VS9):  SET VS90COMNTOOLS=%VS90COMNTOOLS%
Visual Studio 2010 (VS10): SET VS90COMNTOOLS=%VS100COMNTOOLS%
Visual Studio 2012 (VS11): SET VS90COMNTOOLS=%VS110COMNTOOLS%
Visual Studio 2013 (VS12): SET VS90COMNTOOLS=%VS120COMNTOOLS%
Visual Studio 2015 (VS14): SET VS90COMNTOOLS=%VS140COMNTOOLS%

注意这个命令不是永久生效,只是临时命令,每次打开命令行都要执行一次

 

另外,有个简单方法 

python2 提供了对应的 vc:https://www.microsoft.com/en-us/download/details.aspx?id=44266  Microsoft Visual C++ Compiler for Python 2.7

python3 没有提供 

 

https://www.cnblogs.com/yyds/p/7065637.html  写的很透彻

https://blog.csdn.net/sunlilan/article/details/80040858  很有用的教程

https://my.oschina.net/soarwilldo/blog/496463

https://blog.csdn.net/u011275279/article/details/73238609

https://blog.csdn.net/m0_37638031/article/details/78763956  visual studio 2015安装教程

 

RuntimeError: Broken toolchain: cannot link a simple C program

https://www.jianshu.com/p/7dc989dc55f0

https://www.tuicool.com/articles/JzI3Uj