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

产生原因:

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

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


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

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

或者使用

?
1
python setup.py build –compiler=mingw32


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

python2安装msvs2008,python3安装msvs2010


方法三:设置变量

python2 在安装扩展前执行

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

或者

?
1
SET VS90COMNTOOLS=%VS120COMNTOOLS%

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

python3在安装扩展前执行

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

或者

?
1
SET VS100COMNTOOLS=%VS120COMNTOOLS%

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


方法四:修改安装脚本

打开

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

修改MSVCCompiler函数:

?
1
vc_env = query_vcvarsall(VERSION, plat_spec)

为:

?
1
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


在Python3.5下使用pip安装numpy会出现错误

?
1
2
3
4
     d:\program files\python 3.5\lib\distutils\dist.py:261: UserWarning: Unknown
distribution option:  'define_macros'
       warnings.warn(msg)
  error: Unable to  find  vcvarsall.bat

使用pip下载后执行setup.py来安装出现

?
1
2
3
building library  "npymath"  sources
No module named  'numpy.distutils._msvccompiler'  in  numpy.distutils; trying from distutils
error: Unable to  find  vcvarsall.bat

在湖闻樟注:

1、使用pip install -d可以下载安装包

2、这里的找不到vcvarsall.bat和python2.7、pyhton3.4下的情况有些不同,但是python3.5也存在同样的问题


安装办法:

在湖闻樟注:比较省事的办法是从http://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv下载编译好的包来安装,这里我是自己编辑安装。这个办法安装完后,如果有其他包把该包作为依赖来编译时会出错。

步骤一:

打开

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

修改MSVCCompiler函数:

1
vc_env = query_vcvarsall(VERSION, plat_spec)

为:

1
vc_env = query_vcvarsall(12.0, plat_spec)

这里的12.0改你安装的msvs对应的版本

这一步有其他方法,出问题或者有兴趣的话可以看看python安装扩展”unable to find vcvarsall.bat“的解决办法

步骤二:

使用pip下载numpy

?
1
pip  install  -d c:\ numpy

步骤三:

解压后进入numpy\distutils,复制一份

msvc9compiler.py

并重命名成

_msvccompiler.py

步骤四:

进入numpy目录执行命令安装

?
1
python setup.py  install

你可能感兴趣的:(python)