这两天安装dlib,使用pip install dlib
一直失败。一路升级打怪终于给安上了,总结一下网上的帖子,记录一下。由于使用的Anaconda,根据网上的说法在Python3.6和python3.8环境各操作了一遍,方法都是下载安装包本地安装。
本文环境:
- Anaconda Python3.8
- Anaconda env python3.6
- visual studio 2017(须大于2015版本)
1. Python3.6环境
首先需要安装cmake,boost:
pip install cmake
pip install boost
下载whl文件:https://pypi.org/simple/dlib/
选择 dlib-19.8.1-cp36-cp36m-win_amd64.whl
打开powershell,cd到下载文件所在的路径,输入
pip install dlib-19.8.1-cp36-cp36m-win_amd64.whl
即可完成安装
2. Python≥3.7环境
(1). 安装Visual Studio
首先需要安装visual sdudio,版本大于等于2017,15的我试过有问题(好像是装其他包时出的问题,反正推荐新一点的)
vs2017安装好C++开发环境后,要将 cl.exe 的路径加入到环境变量,
编辑环境变量,添加到系统环境变量PATH中,我的路径如下,有四个,可以都加上
见到如下截图说明cl配置正常了
(2). 安装cmake
pip install cmake
(3). 安装boost
到 http://www.boost.org/ 下载boost
然后将下载的boost解压,放到python安装目录,我放到了Anacond根目录下。然后运行bootstrap.bat文件,双击生成的b2.exe运行。安装完成后在当前目录输入b2 -a --with-python address-model=64 toolset=msvc runtime-link=static
,或者.\b2 -a --with-python address-model=64 toolset=msvc runtime-link=static
安装完成会有提示,按照提示将安装完成后的boost 文件加路径加入到环境变量
(4). 安装dlib
3.7以上的不能用whl文件安装,下载源码包安装:https://pypi.org/simple/dlib/
选择新版本,我试了dlib-19.14.0.tar.gz,dlib-19.22.1.tar.gz两种都能装上,应该中间的也都可以。解压后将源文件放到Python的安装目录,我放在了Anaconda的根目录下。
cd 到 dlib 目录下 运行命令 python setup.py install
报了一堆错:
总的来说就是一类错误和一类警告
error C2734: “GifAsciiTable8x8”: 如果不是外部的,则必须初始化常量对象 (编译源文件 E:\APKS\dlib-19.14.0\too
warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode
有上面这种错误,原因是CMake 在寻找计算机环境里面的 libfig库,没有找到。
解决方法:可以不启用 gif support,运行:
python setup.py install --no DLIB_GIF_SUPPORT
警告的原因是编码格式问题,需要将报警告的文件格式改为Unicode编码。参考 这边文章 设置 Visual studio更改编码格式。我尝试着去改了它提示的文件,下次运行就有新的文件警告了,说明需要全部转换,我暂时还没有找到一个好的工具能够批量转换文件夹。
然后将 安装完成后的目录下的三个如下截图文件夹 复制到 python安装文件夹的lib下面
然后将dlib安装路径下的文件复制到Python安装目录的DLLs文件夹中。
dlib安装完成。
3. 测试
运行没有报错说明安装成功
参考