win10下安装python3.5的dlib 19.17库

原文地址:https://www.jianshu.com/p/9f2d92adc0ac

按说安装dlib很简单,直接使用pip3 install dlib即可安装了;在Linux系统下很方便,使用这条命令就可以安装成功;但是在windows下,会出现编译错误。

在windows下安装dlib最新版本19.17,是非常麻烦和耗时的一件事情,里面有很多坑,很难编译成功。网上很多资料都有介绍,试了还是没有成功。我结合网上资料和个人摸索,成功完成dlib 19.17的编译和安装。

dlib19.17编译主要依赖几个工具:CMake,Boost和VS 2017(好像VS 2015以上的版本都可以);需要注意的是win10 64位系统,以上工具和编译都要采用64位的系统。为了安装简单,建议电脑上只安装python 3.5,不要安装其他版本的python,以免设置不当编译出错。

1. CMake工具安装

由于我是win10 64位系统,所以选择cmake-3.14.3-win64-x64.msi进行下载安装。这个安装比较简单,按默认一步步安装即可,不做解释。一般是安装在C:\Program Files\CMake\bin目录。

2. 安装VC++编译工具

要求VS 2015以上的版本,特别是VSVC++版本要满足dlib编译要求,最好是VS2017并且安装过更新的版本。为什么安装一个VS 2017要描述这么啰嗦,因为这个是编译dlib的关键,如果版本和工具集没有安装对,编译就不会成功,还不知道错误发生在哪里。我就是被这个折腾了一天时间。

dlib的编译要求(在dlib-19.17.0\dlib\cmake_utils\set_compiler_specific_options.cmake描述如下):

(安装VSVC++ version 15.9  v14.16版本即可,如下图所示版本)

因为我们只需要VC++工具集编译,所以只需要安装VS 2017社区版本Visual Studio Community 2017即可。可以直接在官网https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/下载安装。下载vs2017_community.exe,一步步安装即可,主要安装使用C++的桌面开发、使用C++的Linux开发和Visual Studio扩展开发三个模块,选项如下:

3.设置编译的环境变量(系统变量):

在windows系统环境变量中,对Path变量添加如下几个VS2017和Cmake的路径(主要是cl.exe和cmake.exe编译工具和头文件的搜索路径),如下图所示:

设置完环境变量后,重新打开cmd命令行窗口,分别执行cl.exe和cmake.exe验证一下,是否设置成功;这两条命令可以执行成功,表示设置OK。(注意这里一定要是14.16.27023以上的版本,如果是14.10.25017版本,请先升级VS2017的更新。我之前使用14.10.25017编译失败)

4.  boost工具下载源代码,编译和安装

使用pip install boost安装最简单、快捷,但是可能是目前可以安装的版本太低的原因,会导致编译dlib不成功。这里我是安照网上资料介绍,采用下载源代码方式进行编译安装的。

boost官网:https://www.boost.org/ (国外网站,在国内访问都比较慢)

从官网下载最新的boost_1_70_0.zip文件,成功后解压(随便那个目录,可以直接在主目录下解压;我解压目录为C:\boost_1_70_0,避免使用中文、超长名称或者有空格的目录名称,避免意外错误),然后在编译和安装。

STEP1.进入解压后的目录,执行bootstrap.bat批处理命令:

在执行bootstrap.bat前,会调用cl.exe,需要设置vc变量;先执行vc设置环境变量的批处理vcvars64.bat,该文件位于我的机器C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build目录中;否则编译出错,出现”fatal error C1034错误:c:\boost_1_70_0\tools\build\src\engine\jam.h(71) : fatal error C1034: ctype.h: 不包括路径集 compile.c“ 。如果成功就会生成b2.exe、bjam.exe以及project-config.jam文件。

STEP2. 执行 b2 install,这步非常耗费时间,大概要1~2个小时(由电脑性能决定)

STEP3. 执行 b2 -a --with-python address-model=64 toolset=msvc runtime-link=static

在boost_1_70_0/stage/lib目录下生成这两个lib文件:

STEP4.将编译好的boost 文件夹和lib加入到环境变量

设置windows的系统变量BOOST_LIBRARYDIR和BOOST_ROOT如下:

5.下载dlib源代码,编译、安装

dlib官网为:http://dlib.net/

点击Download dlib ver 19.17下载源代码dlib-19.17.0.tar.gz到本地。解压到c:\dlib-19.17.0目录。为了保险起见再次运行vcvars64.bat文件,然后执行python setup.py install命令进行编译和安装。

这样已经将dlib库安装到环境中了。也可以使用python setup.py bdist_wininst命令打包成exe安装程序,给其他人安装使用。



作者:金黄十月
链接:https://www.jianshu.com/p/9f2d92adc0ac
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

发布了3 篇原创文章 · 获赞 0 · 访问量 543

猜你喜欢

转载自blog.csdn.net/yiyayiya557/article/details/104844560
今日推荐