网络上都是用Visual Studio安装的dlib, 一个visual studio 2019的安装包就30G多, 其实用mingw-w64就能够编译相关程序python
这里使用的msys2: https://www.msys2.org/git
参照官网 好比安装位置是 c:\msys64\
github
使用国内镜像源windows
c:\msys64\etc\pacman.d\ - mirrorlist.mingw32 - mirrorlist.mingw64 - mirrorlist.msys
这三个文件中将清华源放在第一行网络
# the CN mirror url Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686/
开始菜单中 打开msys2 minGW 64-bit
多线程
pacman -Syu pacman -Su pacman -S --needed base-devel mingw-w64-x86_64-toolchain
地址在C:\msys64\mingw64\bin
, 加入环境变量自行搜索ui
在windows平台上的mingw编译器是不支持CUDA的,因此即便你有显卡和CUDA它也不会安装CUDA版本的dlib,目前windows平台上只有visual studio是支持CUDA的。url
下载代码 并建立相关目录线程
cd /d d:\ git clone https://github.com/davisking/dlib.git cd dlib mkdir build mkdir dist cd build
建立编译文件code
-G "MinGW Makefiles" 这个是关键,表示生成MinGW可用的Makefile文件
cmake -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX=D:\dlib\dist -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=Release -DCMAKE_MAKE=mingw32-make ..
不出意外, 会成功
编译 4是你的cpu核心数
mingw32-make -j4
安装
mingw32-make install
最终文件都会在d:\dlib\dist
目录
若是执行过上面的编译 须要自行清理build文件夹
最新版本的python包必须使用VS编译
19.20是能够编译的, 可是在编译时会触发小红伞,能够切换到19.19
git checkout v19.20
setup.py 149行
minGW是没有'-A', 'X64'这些参数的,并且mingw的多线程编译应该是'-j'才对。所以将其修改以下,注释掉'-A', 'X64',改成4线程编译。
if platform.system() == "Windows": cmake_args += ['-DCMAKE_LIBRARY_OUTPUT_DIRECTORY_{}={}'.format(cfg.upper(), extdir)] # if sys.maxsize > 2**32: # cmake_args += ['-A', 'x64'] # # Do a parallel build # build_args += ['--', '/m'] build_args += ['--', '-j4']
执行
python setup.py -G "MinGW Makefiles" bdist_wheel
dist目录下dlib-19.19.0-cp37-cp37m-win_amd64.whl (3.7MB)
便是windows版本的dlib
pip install dlib-19.19.0-cp37-cp37m-win_amd64.whl
安装face_recognition
能够直接成功
pip3 install face_recognition