目标:安装python dlib版本为19.7
过程:
安装本不复杂,按照此文可以顺利安装。环境差异导致问题重重。Win对开发环境还是不够友好啊。下面记录遇到的问题。
1.使用pip install 安装时总是报错:
Boost python library not found.
事实上,本机安装了boost,尝试过boost的预编译和手动编译,错误还是存在。boost版本为1_65_1(lib64-msvc-14.0)。这里网上是找不到任何解决办法。
如果此时一味的怀疑boost,那么永远解决不了问题。
2.分析错误,解决:
事实上,编译dlib时(命令:python setup.py install),是有错误提示的,这个和本机的环境有很大的关系:
-- The C compiler identification is MSVC 18.0.30501.0
-- The CXX compiler identification is MSVC 18.0.30501.0
-- Check for working C compiler: D:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/bin/x86_amd64/cl.exe
-- Check for working C compiler: D:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/bin/x86_amd64/cl.exe -- works
MSVC和boost的版本并不一致,由于本机安装了多个VC环境,在编译时不指定就会出现这个问题。解决办法其实就在官方文档里:
官方使用的python setup.py install,修改为python setup.py install -G "Visual Studio 14 2015 Win64"(2017有问题)
如此问题就解决了。
3.如果使用VS2017,会在编译face_recognition.cpp时挂住。
换成VS2015,注意不能是社区版本,社区版有一些库没有(坑)。
4.如果是python3,boost使有预编译版本会在link时,遇到找不到python27.lib的问题。
手动编译python3的boost解决。