python學習--Linux下dlib安裝(主要是cmake和boost的安裝)

 昨天咱們使用了dlib和opencv進行了人臉檢測標註(http://www.cnblogs.com/take-fetter/p/8310298.html)html

可是運行環境是基於windows的並且可能由於個人電腦上的visual studio配置比較完備,安裝運行沒有出現任何問題.python

由於以後我打算把作的程序在樹莓派上運行,因此先打算把昨天作的程序移到linux上試試,坑遇到了不少總結一下吧,opencv安裝卻是沒遇到什麼坑linux

環境:deep linux 15.5 , anaconda3 , pycharm 2017.3 bootstrap

更新:就在2018.1.22的dlib更新(ver 19.9)中取消了對boost.python的依賴,因此安裝新版本應該不會遇到須要下載文件放入目錄的問題了!!!windows

dlib的安裝首先須要安裝cmake和boostui

  • cmake的安裝

https://cmake.org/download/spa

下載安裝包 ,解壓進入目錄後依次運行命令行

./bootstrap
make
make install
  • boost的安裝

http://www.boost.org/下載安裝包code

解壓進入目錄後輸入htm

sudo apt install python3-dev build-essential
./bootstrap.sh --with-libraries=all --with-toolset=gcc --with-python=python3.6

由於默認是Python2,若是安裝完成以後運行以前程序出現如下問題就證實是錯了
可是這個with python參數會出現問題,編譯後不會編譯出所需的文件 https://www.jianshu.com/p/b9da6256aafe 這篇文章中--with-python是==python3.5 不知道能不能行得通,我這裏3.6是沒有成功的

翻了一下包裏的文檔也沒有看見具體的使用方法,個人解決方法在文章最後

Traceback (most recent call last):
File "/media/takefetter/demo/dlib/facial-landmarks/my_facial_landmarks.py", line 5, in <module>
import dlib
File "/home/takefetter/anaconda3/envs/tensorflow/lib/python3.6/site-packages/dlib/__init__.py", line 1, in <module>
from .dlib import *
ImportError: /usr/local/lib/libboost_python.so.1.66.0: undefined symbol: PyString_Type


以後輸入

./b2 toolset=gcc

接下來就是靜靜的等待了,編譯大約須要十分鐘左右,當顯示

...failed updating 66 targets...
...skipped 12 targets...
...updated 1251 targets...

並再次回到命令行時能夠運行

./b2 install --prefix=/usr

將其安裝到/usr目錄下,其中使用到了--prefix=/usr用來指定boost的安裝目錄,不加此參數的話默認的頭文件在/usr/local/include/boost目錄下,庫文件在/usr/local/lib/目錄下。這裏把安裝目錄指定爲--prefix=/usr則boost會直接安裝到系統頭文件目錄和庫文件目錄下,能夠省略配置環境變量。

順便提下關於boost庫的刪除:刪除/usr/include中的boost文件和/usr/lib中關於boost的全部文件就能夠了

最後使用

ldconfig

更新系統的動態連接庫

  • dlib安裝使用
pip install dlib

(anaconda 記得使用source activate 環境名  進入具體的python環境)

 

接上文的解決方案:

後面運行時會提示libboost_python.so.1.66.0: cannot open shared object file: No such file or directory

我編譯了好幾回也沒有能產生這個文件,只能是在網上down了一個:(

https://files.cnblogs.com/files/take-fetter/libboost_python.so.1.66.0.zip 下載後放入usr/lib中

索性運行正常,觀海仍是昨天的觀海(誤......

也不知道之後會出什麼問題,仍是菜啊╮(╯▽╰)╭(之後工做了必定要換mac)

相關文章
相關標籤/搜索