Python: Unable to find vcvarsall.bat 解决方法
来源:互联网 发布:淘宝解除快捷支付 编辑:程序博客网 时间:2024/04/25 20:58
原因
在安装Python第三方包的时候,不管是编译源码安装,还是使用pip install
还是easy_install
都经常会遇到如下的困扰:(之前一篇日志介绍安装numpy
的时候,也遇到了,那里是一种解决方法).
Unable to find vcvarsall.bat
这个原因是大概要安装的第三方包需要依赖gcc或者vc编译器。解决方法目前试过两种,都可以解决。
解决方法
如下两种解决方法,一一介绍:
1.使用VC++编译器
如果电脑上安装了VS2008以及以上版本(网上说只能VS2008是错误的说法),就可以直接按照之前的安装numpy的博客来解决。
1. Python 目录下,打开 Lib–>distutils\msvc9compiler.py
2. 找到这一行
vc_env = query_vcvarsall(VERSION, plat_spec)
3. 根据自己VS版本,如果是VS2012
那就把 函数的第一个参数VERSION
改成 11.0
, 如果是VS2013
就是12.0
.
4. 之后找到这一行
mfinfo = self.manifest_get_embed_info(target_desc, ld_args)
改成:
mfinfo = None
5. 保存退出即可
在执行pip
或者easy_install
即可。
2.使用MinGW
如果不想安装庞大的VS,那就可以使用GCC编译器啦, 这里就是用如下:
MinGW
安装方法可以直接去MinGW 官网下载,如果嫌麻烦的话,就直接下载个IDE吧codeblocks 吧 选择带MinGW
的那个版本,大概100M左右。 这个自带了MinGW.
好啦,安装完成之后,记得把MinGW加入环境变量:如以下是我的目录
E:\program files\CodeBlocks\MinGW\bin
加入到path
变量即可
之后再试试 源码安装或者pip 或者 easy_install
,如果能正常安装就ok啦。 如果仍然报错—极有可能是下面的问题
cc1.exe: error: unrecognized command line option '-mno-cygwin'error: command 'gcc' failed with exit status 1
这样的话,原因是:
这是因为mingw安装的gcc版本是4.xx了,-mno-cygwin选项只在3.xx版本有,如果换回去3.xx版本可能可以编译过去。
如果不换则尝试对\Lib\distutils\cygwinccompiler.py进行修改,把里面的-mno-cygwin都去掉
好啦;就跟上面一样修改配置文件了
Python 目录下,打开 Lib-->distutils\cygwinccompiler.py
找到这几句:
if self.gcc_version < '4' or is_cygwingcc(): no_cygwin = ' -mno-cygwin' else: no_cygwin = ''
直接都注释掉,加上一句如下:
# if self.gcc_version < '4' or is_cygwingcc(): # no_cygwin = ' -mno-cygwin' # else: # no_cygwin = '' no_cygwin = ''
之后再试试pip
或者 easy_install
或者编译源码包去安装吧~
- Python: Unable to find vcvarsall.bat 解决方法
- unable to find vcvarsall.bat的解决方法
- error: Unable to find vcvarsall.bat 解决方法
- Python error: Unable to find vcvarsall.bat
- python Unable to find vcvarsall.bat
- python Unable to find vcvarsall.bat 错误
- python--unable to find vcvarsall.bat
- 解决python:Unable to find vcvarsall.bat
- Python error: Unable to find vcvarsall.bat
- Unable to find vcvarsall.bat
- Unable to find vcvarsall.bat
- Unable to find vcvarsall.bat
- Unable to find vcvarsall.bat
- unable to find vcvarsall.bat
- unable to find vcvarsall.bat
- 关于python下构建c模块出现error: Unable to find vcvarsall.bat问题的解决方法
- Python 3 安装 lxml 报错Unable to find vcvarsall.bat的解决方法
- Python 使用mingw构建第三方库 Unable to find vcvarsall.bat错误解决方法
- 安装CleanMyMac 3提示软件已损坏
- 利用 Red5 , RTMP协议建立远程视频监控系统一
- Activity四种启动模式
- K_mean算法C的实现
- Android URI和URL和URN的区别
- Python: Unable to find vcvarsall.bat 解决方法
- 11个 jQuery 图表库
- 如何实现内网穿透
- memcopy和memmove的区别
- Android_按比例布局layout_weight和weightSum
- Android 异步和超时处理 例子
- 由于出现错误80020101而导致此项操作无法完成"
- VMware Ubuntu 下与Win7共享文件夹
- Maven出错-Missing artifact org.apache.openejb:openejb-core:jar:4.1.0-SNAPSHOT:test