频道栏目
首页 > 资讯 > Python > 正文

在Windows平台下安装python含有c/c++源码的模块时报错问题解决办法

17-10-17        来源:[db:作者]  
收藏   我要投稿

python通过pip或者源码来安装某些模块时,这些模块包含有c/c++源码,安装过程会调用本地的编译器编译这些代码。在Windows平台下我安装时候的错误消息是“error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat). Get it fromhttp://aka.ms/vcpython27” 可以看出错误是由于没有找到该vc版本,对应的是vs2008,当然一种解决方法是安装该版本,但我已经安装了vs2015,所以我就需要修改下默认的这种配置。

解决方案

方法一:

首先确定自己安装vs的版本号,可以通过查看注册表,在HKLM\Software\Wow6432Node\Microsoft\VisualStudio\下,如图

这里写图片描述

会有多个数字卡头的子项,只有安装的会有对应的InstallDir项,可以看出我安装的vs版本是14.0;

打开 “python安装目录/Lib/distutils/msvc9compiler.py”文件,找到find_vcvarsall函数,在该函数开头添加

version =上面的版本号, 即添加内容为 “VERSION = 14.0”, 这样就可以使用了

def find_vcvarsall(version):
    """Find the vcvarsall.bat file

    At first it tries to find the productdir of VS 2008 in the registry. If
    that fails it falls back to the VS90COMNTOOLS env var.
    """
    version = 14.0            ##添加这行
    vsbase = VS_BASE % version
    ... ... 

方法二:

这种方法更简单,在环境变量中添加项 VS90COMNTOOLS ,值为 “VS安装路径\Common7\Tools”, 如图
这里写图片描述

重新打开命令行程序就可以使用了。

电脑上安装了VS2008,建议打开 “python安装目录/Lib/distutils/msvc9compiler.py”文件,找到find_vcvarsall函数,在该函数开头添加version =VS版本号,

例如使用VS2013,则

version = 12.0

电脑没有安装VS2008,还可以在环境变量中添加项 VS90COMNTOOLS,值为“VS安装路径\Common7\Tools”,例如D:\Program Files\Microsoft Visual Studio 12.0\Common7\Tools,也可在控制输入:

SET VS90COMNTOOLS=%VS120COMNTOOLS%

相关TAG标签
上一篇:Android开发蓝牙Bluetooth——《进阶篇》
下一篇:linux实现进程间通信方式,消息队列实现教程
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站