python27(32位)安装模块报错“error: Unable to find vcvarsall.bat”
1)首先,下载一个Microsoft Visual C++ Compiler for Python 2.7的补丁,下载地址在这里:
http://www.microsoft.com/en-us/download/details.aspx?id=44266
2) 然后下载安装VS2008(对应VER9.0),如果电脑上安装的是VS2010(对应VER10.0),
可以在VS命令行下执行:SET VS90COMNTOOLS=%VS100COMNTOOLS%
如果你安装的是 2012 版(对应VER11.0), SET VS90COMNTOOLS=%VS110COMNTOOLS%
如果你安装的是 2013版(对应VER12.0), SET VS90COMNTOOLS=%VS120COMNTOOLS%
或用以下方法也一样可以解决:
3) “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(12.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以上的编译器。
4)之后安装还是报错:“ error: command 'mt.exe' failed with exit status 31”
编辑Python27\Lib\distutils\msvc9compiler.py,查找ld_args.append('/MANIFESTFILE:' + temp_manifest)一行,在其后添加一行,内容为ld_args.append('/MANIFEST')
5)之后安装就成功了!
python27(32位)安装模块报错“error: Unable to find vcvarsall.bat”的更多相关文章
- 在windows下安装lxml 报错error: Unable to find vcvarsall.bat
刚开始安装 ,我是使用命令pip install lxml直接进行安装,不过出错了 error: Unable to find vcvarsall.bat 解决方案: 1.首先安装wheel,pip ...
- 安装visual stdio 2017后依然报错:Unable to find vcvarsall.bat
安装visual stdio 2017后依然报错:Unable to find vcvarsall.bat 解决办法:更新setuptools 原文章:https://blog.csdn.net/wl ...
- pip install mysql-python报错1. Unable to find vcvarsall.bat 2 fatal error C1083: Cannot open include file: 'config-win.h': No such file or directory 3.error: command 'mt.exe' failed with exit statu
最近在安装mysql -python 时报错折腾了半天,通过以下方法解决: 1. pip install mysql-python报错 Unable to find vcvarsall.bat (参考 ...
- Rabbitmq安装报错 Windows下安装RabbitMQ报错Error: unable to connect to node rabbit@xxx: nodedown
1..erlang.cookie文件不一致 如果是Windows 64位系统两个文件都要修改,另外当C:\Users\用户\.erlang.cookie没有修改权限的时候 用上面这个文件覆盖下面两个目 ...
- python pip安装模块报错 "Can't connect to HTTPS URL because the SSL module is not available."
在升级python版本为3.6之后,pip安装模块报错. 报错信息如图: 原因是系统自带的openssl版本与python3的版本不匹配,所以这里只要升级openssl版本就可以解决问题. yum - ...
- python 安装模块报错 response.py", line 302, in _error_catcher
python 安装模块报错 Exception:Traceback (most recent call last): File "/usr/share/python-wheels/urlli ...
- windows上,python安装非官方包,提示error: Unable to find vcvarsall.bat
在windows机器上安装python非官方包,如果环境只是用于开发,不作任何测试的话,最好的解决办法是: 在Linux上pip安装好之后,把python根目录lib/python3.6/site-p ...
- Python error: Unable to find vcvarsall.bat
在安装一些Python模块时,大部分是cpython写的模块时会发生如下错误 error: Unable to find vcvarsall.bat.先前的一篇文章:在Windows上安装Scrapy ...
- 【转】Windows下Python快速解决error: Unable to find vcvarsall.bat
转自:http://blog.csdn.net/sad_sugar/article/details/73743863 系统配置:Windows10 x64, Visual Studio 2017, P ...
随机推荐
- The ProgID of the WorkspaceName's workspace factory
The ProgID of the WorkspaceName's workspace factory [C#]public stringWorkspaceFactoryProgID {get; se ...
- 并发编程 01—— ThreadLocal
Java并发编程实践 目录 并发编程 01—— ThreadLocal 并发编程 02—— ConcurrentHashMap 并发编程 03—— 阻塞队列和生产者-消费者模式 并发编程 04—— 闭 ...
- SAP验证
需求:财务录费用凭证,检查科目6601001-6601999 & 成本中心为1000R001 - 1000R999,工单不能为空 GGB0 1.选择财务凭证->行项目->新建确认' ...
- Scala学习(二)
二.Scala基础 1.变量:三种修饰符 -> ①val 常亮②var 变量③lazy val 惰性变量求值 2.类型 3.代码块 Block {exp1;exp2} 或 { exp1 exp2 ...
- C++迟后联编和虚函数表
先看一个题目: class Base { public: virtual void Show(int x) { cout << "In Base class, int x = & ...
- AutoHotkey(AHK)
这是2009年用过的一个软件,自动键盘执行的一个东西,能提高效率,代替人工击键和鼠标操作,现在中文化很好了,如下地址是中文文档 http://ahkcn.sourceforge.net/docs/Tu ...
- Yii2.0 rules验证规则大全
required : 必须值验证属性 [['字段名'],required,'requiredValue'=>'必填值','message'=>'提示信息']; #说明:CRequiredV ...
- <java基础学习>02JAVA的基础组成
Java的基础组成 1 关键字 (被赋予了特殊含义的单词) 2 标识符 3 注释 4 常量和变量 5 运算符 6 语句 7 函数 8 数组 关键字 class Demo{ public static ...
- JSFuck奇葩的js编码
以前对黑客很崇拜,黑客的世界无比精彩.最近为了炫耀,想起了这段特殊的代码. [][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[ ...
- 轮播图适应代码jQ
(function(){ var i = 0; var time ; $('.page-size').html('1'); var obj = $('.xst-scroll>li'); var ...