python安装扩展”unable to find vcvarsall.bat“的解决办法

产生原因:

python3.4用的是msvs2010编译的,所以python3.4默认只能认出msvs2010。

python2.7用的是msvs2008编译的,所以python2.7默认只能认出msvs2008.


方法一:安装mingw(不推荐)

下载mingw环境,添加环境变量

或者使用

python setup.py build –compiler=mingw32


方法二:安装对应版本的msvs

python2安装msvs2008,python3安装msvs2010


方法三:设置变量

python2 在安装扩展前执行

SET VS90COMNTOOLS =  [vcvarsall.bat所在的目录]

或者

SET VS90COMNTOOLS=%VS120COMNTOOLS%

在湖闻樟注:VS120COMNTOOLS改成你安装的msvs版本对应的

python3在安装扩展前执行

SET VS100COMNTOOLS =  [vcvarsall.bat所在的目录]

或者

SET VS100COMNTOOLS=%VS120COMNTOOLS%

在湖闻樟注:VS120COMNTOOLS改成你安装的msvs版本对应的


方法四:修改安装脚本

打开

[python3安装目录]Lib/distutils/msvc9compiler.py

修改MSVCCompiler函数:

vc_env = query_vcvarsall(VERSION, plat_spec)

为:

vc_env = query_vcvarsall(12.0, plat_spec)

在湖闻樟注:12.0改成你安装的msvs对应的版本号

补充:

msvs2005版本号为8.0对应环境变量VS80COMNTOOLS

msvs2008版本号为9.0对应环境变量VS90COMNTOOLS

msvs2010版本号为10.0对应环境变量VS100COMNTOOLS

msvs2012版本号为11.0对应环境变量VS110COMNTOOLS

msvs2013版本号为12.0对应环境变量VS120COMNTOOLS

你可能感兴趣的:(windows,python,扩展,python3,修复)