代码改变世界

python Unable to find vcvarsall.bat 错误

2013-06-27 18:34 by youxin, ... 阅读, ... 评论, 收藏, 编辑

今天遇到了这个方面的问题,目前找到两种办法。一种是换编译器如mingw,另一种是装vc。第一种方法没成功,现在正在等第二种。

第一种:

首先安装MinGW

把MinGW的路径添加到环境变量path中,比如MinGW安装在D:\MinGW\中,就把D:\MinGW\bin添加到path中;

打开命令行窗口,在命令行窗口中进入到要安装代码的目录下;

输入如下命令就可以安装了。setup.py install build --compiler=mingw32 

 

第二种:

今天在安装pyscopg2库的时候出现Unable to find vcvarsall.bat错误,在网上找了一会儿,有人说是要装mingw来解决,我试了,但是不行后来找到另一种解决办法:
1、到http://www.microsoft.com/express/Downloads/#2008-Visual-CPP去下载visual c++ 2008 express edition 
2、然后安装,之后再重新python setup.py install就好了
这个应该是个通用的方法,假如你在安装其他库的时候也遇到 Unable to find vcvarsall.bat错误的时候,应该也可以解决

我的以上方法都不管用,看到stackoverflow有一种方法:

For Windows installations:

While running setup.py for package installations Python 2.7 searches for an installed Visual Studio 2008. You can trick Python to use a newer Visual Studio by setting the correct path in VS90COMNTOOLS environment variable before calling setup.py.

If you have Visual Studio 2010 installed, execute

SET VS90COMNTOOLS=%VS100COMNTOOLS%

or with Visual Studio 2012 installed

SET VS90COMNTOOLS=%VS110COMNTOOLS%

我的是vs2010,在cmd下设置一下变量就可以了。

python 2.7在setup的时候查找的是VS2008编译的。果你电脑上没有这个版本的话,比如只有:

 1.Visual Studio 2010,在cmd里面执行:
SET VS90COMNTOOLS=%VS100COMNTOOLS%
2. Visual Studio 2012 的话:
SET VS90COMNTOOLS=%VS110COMNTOOLS%
以此类推:
3. Visual Studio 2013 的话:
SET VS90COMNTOOLS=%VS120COMNTOOLS%
4. Visual Studio 2003 的话:
SET VS90COMNTOOLS=%VS80COMNTOOLS%
 

更多参考:http://www.biaodianfu.com/python-error-unable-to-find-vcvarsall-bat.html

http://stackoverflow.com/questions/2817869/error-unable-to-find-vcvarsall-bat