Win10下安装mitie遇到subprocess.CalledProcessError:Command[‘cmake’,‘..’,‘-A’,‘x64’]的解决方法

文章目录

  • 一、问题描述
  • 二、安装mitie前必须安装的依赖
    • 2.1安装Visual Studio C++
    • 2.2 安装Cmake
    • 2.3 安装boost
  • 三、安装mitie及解决问题

一、问题描述

安装mitie时最后一步出现了错误,根据网上教程安装好了Visual Studio、cmake、boost之后,到最后一步,先是下载了mitie安装包,之后采用本地安装的方法python setup.py install 去安装,结果发现报出了setup.py中的错误:subprocess.CalledProcessError: Command ‘[‘cmake’, ‘…’, ‘-A’, ‘x64’]’ returned non-zero exit status 1.

Win10下安装mitie遇到subprocess.CalledProcessError:Command[‘cmake’,‘..’,‘-A’,‘x64’]的解决方法_第1张图片
半天时间已过,这个错误仍未解决,除这个最终BUG没解决之外,安装cmake的过程中也遇到了一些曲折,在第二阶段一一做个记录!

二、安装mitie前必须安装的依赖

包括 Visual Studio C++、 cmake 、 boost

2.1安装Visual Studio C++

随着研发的深入,越来越发现Visual Studio就是一个流氓软件,安装其他很多软件或者包都需要先安装Visual Studio中的C++环境依赖,不然待安装的软件或者包还真没法用,所以建议大家还是乖乖去官网安装个Visual Studio,但切记不要把Visual Studio所有组件全部都安装了,否则安装包太大非常耗时间,最理想的做法是需要哪个组件安装哪个,如下图:
为安装mitie,我们需要安装使用C++的桌面开发,且必须选上用于Cmake的Visual C++工具,选择下载时安装
Win10下安装mitie遇到subprocess.CalledProcessError:Command[‘cmake’,‘..’,‘-A’,‘x64’]的解决方法_第2张图片
安装完之后,将G:\VS2017\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin路径加载到环境变量Path中
验证安装好的方法是打开cmd进入G:\VS2017\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64,输入cl,如果有如下消息出现,则证明安装成功
在这里插入图片描述

2.2 安装Cmake

CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。

可以先尝试去Cmake官网下载中高一点的版本,例如cmake-3.17.3-win64-x64.zip ,其中后缀.msi表示下载后在线安装 、后缀.zip表示离线安装包,这里选用的是离线安装包。但这种方法会造成网络不同点击安装包出现连接错误,没法下载,因为Cmake是国外网站,需要。
还有另外一种下载方式,通过Index of file的方式直接在cmake官网文件中选择合适的版本下载,如下图:
Win10下安装mitie遇到subprocess.CalledProcessError:Command[‘cmake’,‘..’,‘-A’,‘x64’]的解决方法_第3张图片
因为是国外网站,需要慢慢等待,且下载中断后,点击继续下载即可。
下载完后,解压.zip包,且把D:\enviroment_data\cmake-3.16.8-win64-x64\bin路径加到环境变量Path中,之后打开cmd ,输入cmake,如果输出下面的信息则认为成功安装
Win10下安装mitie遇到subprocess.CalledProcessError:Command[‘cmake’,‘..’,‘-A’,‘x64’]的解决方法_第4张图片

2.3 安装boost

Boost是为C++语言标准库提供扩展的一些C++程序库的总称。
去到Boost官网下载.zip格式的包,例如boost_1_73_0.zip,这个不会下载不了,但如果中断了也要点击继续下载到成功。
下载完解压到指定路径,且分别执行如下命令

cd D:\enviroment_data\boost_1_67_0\tools\build
bootstrap.bat
.\b2 --prefix=D:\enviroment_data\boost\bin install

会在D:\enviroment_data\boost\bin目录下生成share、bin两个文件夹,且bin文件夹里面有b2.exe和2jam.exe两个文件
最后将D:\enviroment_data\boost_1_67_0\boost\bin\bin添加到环境变量Path中
如果在bootstrap.bat这一步中报错,则是因为Visual Studio C++环境没有装好

三、安装mitie及解决问题

mitie是在dlib机器学习库之上开发的NLP工具包,支持分布式词嵌入和结构化SVM,提供英语,西班牙语,德语的预训练语言模型。
安装有两种方式:在线安装(容易失败)和离线安装(需要注意几点)

  1. 在线安装
    打开项目工程目录,直接从github中直接拉取mitie包,并安装
    pip install git+https://github.com/mit-nlp/MITIE.git
    但经常会因为网络的流畅度不够导致拉取不下来造成安装失败
  2. 离线安装
    可以先去github上拉取或者从博客资源免费下载
    有很多教程说将mitie资源包解压后,在目录路径下使用终端输入命令:
python setup.py build
python setup.py install 

就会安装好,对于大部分人是可以,但如果输入命令后报错:
subprocess.CalledProcessError: Command '['cmake', '..', '-A', 'x64']' returned non-zero exit status 1.
这是解析setup.py的错,很难搞,弄了半天都没有办法解决错误。
后面直接通过pip命令进行安装包,在mitie压缩包mitie.tar.gz目录下,使用安装命令
pip install mitie.tar.gz
最终成功!原因仍然很迷,但就是成功了,这跟在线安装原理是一样的,
Win10下安装mitie遇到subprocess.CalledProcessError:Command[‘cmake’,‘..’,‘-A’,‘x64’]的解决方法_第5张图片

你可能感兴趣的:(NLP)