python下安装dlib(boost.python的编译)

3 篇文章 0 订阅

前言

前段时间的一篇《40行代码的人脸识别实践》用到了Dlib库的python接口。有感兴趣的小伙伴想要尝试的时候却发现Dlib安装难以成功。其实我安装的时候也是历经的千辛万苦。总会遇到下面的错误。

这里写图片描述

我写那一篇文章的时候用的是一台编译了boost.python的电脑。而且其他的依赖也都比较完善,所以可以直接用pip install dlib轻易安装成功。后来换到自己的刚重装系统的笔记本的时候才发现重新装的话不简单,于是于是在后面加了一句提醒:如果用pip安装失败,安装起来将会很麻烦。

最近经过多方尝试,解决了安装dlib的问题。记录下来,免得自己忘记,也可以让大家作为参考。

需要先装的

  • Python2(3的话我遇到了编码问题)
  • Visual Studio
  • CMake

一般前两个都有,后一个可能需要自己去官网下载一个。三个都需要添加到环境变量中去。这种事情就不多说了,配置过opencv的应该都知道怎么做。

编译boost.python

一般安装dlib的时候最容易出错的就是找不到boost。为了让dlib找到boost,我们需要编译boost.python。

其实安装dlib失败时候的报错信息给出了详细的指引,按照指引去做一般来说没有问题。

我这里遇到的问题是最新版的boost不能编译python。其他模块可以编译就是Python模块不可以。

我做的尝试如下:

  • 在本来就安装了Anaconda2和Anaconda3的基础上,又去安装了Python2,不确定是不是这里也起到了作用。
  • 不再用最新版的boost,而是用倒数第三个或者第四个稳定版本。

由于这里只需要用到Boost.python,所以我只编译了python模块。过程如下:

  1. 去官网下载不是最新版,而是稳定版本的boost。
  2. 运行bootstrap.bat,会生成我们需要的b2.exe和bjam.exe。
  3. 运行如下命令

b2 -a --with-python address-model=64 toolset=msvc runtime-link=static

这一过程可能会耗费几分钟时间,请耐心等待。编译成功之后会生成两个文件夹bin.v2和stage。

stage/lib文件夹下会生成类似下面这样的文件,我用最新版本的boost一直不能生成这俩文件:

这里写图片描述

而且会提示两个路径需要添加:

这里写图片描述

现在回头看一下上面第一张图的提示信息:

这里写图片描述

然后就可以知道我们需要添加两个环境变量。

这里写图片描述

由于我尝试了不同的版本,我实际添加的版本可能和写这篇文章的时候演示的不是同一个版本的boost。但是相信应该说明白我的意思了。

安装Dlib

然后再去安装Dlib文件夹下运行安装命令:

python setup.py install

这次就不会出现找不到boost的错误了。一般也不会出现其他错误了。

如果还有这个错误,而且确认上都没做错的话,可以重启试试。


公众号CVPy,分享OpenCV和Python的实战内容。每一篇都会放出完整的代码。欢迎关注。

公众号CVPy

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值