您的位置:首页 > 编程语言 > Python开发

python hmmlearn 安装出错 Unable to find vcvarsall.bat

2017-03-15 17:57 211 查看
分析需要用到hmmlearn包,搭建环境近两个小时,终于解决这个问题,在此将搜索过程中有用的几个网页内容集合如下,仅供想我一下小白的人参考,感谢相关博主无私奉献。

问题一:

直接 cmd 中敲码:pip install hmmlearn  

错误如下:

          

解决方案:大众版:

hmmlearn是在python上实现隐马可夫模型的一个组件包,原先是在sklearn中的,后来被弃用而单独分离出来。

首先安装sklearn,最好下载setup.py的安装包用命令行安装,因为安装hmmlearn的之候,需要sklearn.utils的arrayfuncs插件,arrayfuncs是一个.c文件,需要自己在安装时重新编译,而直接在官网下的.exe格式的scikit-learn是不会被装上去的

 

用命令行安装hmmlearn会有可能出现,“Unable to find vcvarsall.bat”错误,在网上搜了一下,一个有效的解决方法如下:

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

4. 输入如下命令就可以安装了。

1. 首先安装MinGW,在MinGW的安装目录下找到bin的文件夹,找到,复制一份更名为make.exe;
2. 把MinGW的路径添加到环境变量path中,比如我把MinGW安装到D:\MinGW\中,就把D:\添加到path中;

setup.py install build --compiler=mingw32
【PS】此处可以再cmd中用 gcc -v检查mingw是否安装并配置好环境变量。

问题二:

在 D:\MinGW\bin 文件中找不到  mingw32-make.exe  文件。

下载了这个文件后,我直接简单粗暴地复制并重命名make.exe在bin文件下,也不管是不是下载中出现其他问题。

解决方案如下:

mingw32-make.exe 下载链接

问题三:

我真的是要哭了。。妈蛋还是报错,问题出现在问题一的那行代码敲不对报错显示:

网上有的博客给出解决方案是,看是否缺少Visual
C++ Compiler for Python 2.7,
传说mingw
for windows 用小体积代替了Visio在python的功能,所以对于小白我来说,直觉认为不应该安装。
找了若干个网页,下次这个完美解决了我的问题:
解决方案如下:
感谢博主,让我跳过了setup这个让我觉得纠结但是几乎找不到答案的方式

在python或者anaconda的Libs/distutils目录【如我的目录文件:E:\Anconda3\Lib\distutils】里新建一个文件distutils.cfg, 内容如下:

[php] view
plain copy

[build]  

compiler=mingw32  

  

[easy_install]  

find_links=http://pypi.douban.com/simple/  

解释:compiler = mingw32指明使用的编译器为mingw32

find_links=http://pypi.douban.com/simple/ 

指示
 easy_install在安装一个模块的时候,优先去豆瓣的pypi模块库查找需要的python模块, 如果豆瓣那里没有, easy_install就会自动转到默认的pypi库里查找的

# 注意: 以上如果不行, 请指定compiler

   如果只编译源码, 进入源码目录:      python setup.py build --compiler=mingw32

   如果是安装:                                  python setup.py install  build --compiler=mingw32

   仅仅使用 python setup.py  install 可能还会报错, 说error: command 'mt.exe' failed: No such file or directory.  这个是我编译psycopg2的时候得到的错误.

创建了.cfg文件后我并没有在目录窗口如上编辑,而是直接用 pip install hmmlearn 成功安装了hmmlearn文件。十分方便,但具体原理我不知道,应该也是和cmd中设置compiler=mingw32一样指定编译器了吧。

 

搭建python的环境真的是相当麻烦,各种包之间的相关性和依赖性太高,不过依旧感谢这群编程大牛才有小白我的方便使用,以及感谢各位博主无私分享。以上是个人总结出有用信息,如果依旧无法解决问题,请仔细阅读相关链接的中解决办法或者具体问题自行搜索。

可能有用链接:
http://blog.csdn.net/linshiyx/article/details/51699163 href="http://blog.csdn.net/linshiyx/article/details/51699163" target=_blank>点击打开链接
http://blog.csdn.net/donger_soft/article/details/44838109 href="http://blog.csdn.net/donger_soft/article/details/44838109" target=_blank>点击打开链接
http://www.cnblogs.com/hanahimi/p/4011765.html href="http://www.cnblogs.com/hanahimi/p/4011765.html" target=_blank>点击打开链接

补充2  2017.3.23

前两日安装的hmmlearn 明面上安装好了。

import hmmlearn 成功,但是无法调用hmm模块。。。。今晚重新试水!!换种安装方式成功,记录如下

基础条件: anaconda

cmd中敲打1:           conda install mingw libpython

等待匹配安装

cmd中敲打2:            pip install hmmlearn

然后再ipython中实验:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐