網絡上都是用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