在winows下安装相关python扩展包问题

在运行python setup.py install时,报错信息如下:

unable to find vcvarsall.bat

 

安装了mingw后,还是不行,报错信息如下图:

 

通过一个网友的对此问题的进行更深入的了解,特转贴过来:

经过对C:/Python32/Lib/distutils目录下.py文件的仔细翻阅,发现“unable to find vcvarsall.bat”这句话出在msvc9compiler.py中

再研究这个文件发现问题所在了:

它是在注册表中寻找到vs的目录,再去在vs目录下找vcvarsall.bat。

但是问题就出在python32里面默认是vc9.0也就是vs2008所以它在注册表里面找不到键值返回None

productdir = Reg.get_value(r"%s/Setup/VC" % vsbase,

"productdir")

vsbase值为:Software/Microsoft/VisualStudio/9.0

具体修改代码如下:

msvc9compiler.py中

def find_vcvarsall(version) 用于查找vcvarsall.bat version就是版本号,实际上是9.0

vc_env = query_vcvarsall(VERSION, plat_spec)

VERSION = get_build_version() 因为python32自己是由vc9.0构建的所以VERSION是9.0

修改MSVCCompiler函数:

vc_env = query_vcvarsall(VERSION, plat_spec)

为:

vc_env = query_vcvarsall(8.0, plat_spec)

不过还有这句话:

if VERSION < 8.0:

raise DistutilsPlatformError("VC %0.1f is not supported by this module" % VERSION)

看来,python3.2中的distutils只支持vc8.0以上,即vs2005以上的编译器。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值