天天看點

dlib安裝_win10+dlib+python3.7+minGW編譯安裝

最近想用一下dlib庫,發現在win10上如果沒有visual studio的話安裝python版本有點麻煩,現在記錄一下使用minGW自己編譯安裝自己想要的python版本。

先說明我的作業系統是

win10 64位

python版本是3.7.6

cmake版本是3.16.4

minGW版本是8.1

。dlib版本為目前的最新版

19.19

注意了:dlib從19.9版本開始不再需要提前安裝boost了,是以别問我為啥不要裝boost。 先分享一下我編譯好的dlib的.whl檔案,提取碼:i81x

dlib.whl​pan.baidu.com

注意事項

  1. 路徑不要有中文和空格
  2. 記得編譯前先删除build檔案夾

ubuntu安裝dlib的python版本

ubuntu安裝python版本的dlib很簡單,直接pip安裝即可

pip install dlib
           

如果提示缺少什麼包的話,直接先安裝缺少的包再繼續pip安裝即可,一般沒什麼問題。

windows編譯安裝

python3.7如果直接使用pip安裝:

pip install dlib
           

會報錯如下:

dlib安裝_win10+dlib+python3.7+minGW編譯安裝

在網上查了很多解決辦法,發現他們的解決辦法要麼是安裝visual studio讓visual studio來成為預設編譯器,要麼是去https://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml下載下傳别人已經編譯好的版本來安裝。但是不巧我當時去看别人編譯好的版本時并沒有Python.7的版本,然後大家都是把Python版本退回到3.6或3.5。

這些個解決辦法太笨了!!!我就是要用minGW來編譯我的python3.7版本!! 安裝minGW。 安裝cmake。

minGW和cmake的安裝可以參考我的另一篇文章

小糊糊:Win10+Clion+OpenCV+編譯源碼​zhuanlan.zhihu.com

dlib安裝_win10+dlib+python3.7+minGW編譯安裝

去github上下載下傳最新版的dlib:https://github.com/davisking/dlib,我下載下傳的是目前最新版dlib19.19。下載下傳完成後解壓縮:

dlib安裝_win10+dlib+python3.7+minGW編譯安裝

這個時候打開setup.py檔案查找問題,結合上面圖檔中的報錯

,發現問題代碼出現在149行

dlib安裝_win10+dlib+python3.7+minGW編譯安裝
目前作業系統為windows時,cmake預設是使用Visual Studio作為C/C++編譯器,而我們使用的是minGW的gcc和g++,minGW是沒有'-A', 'X64'這些參數的,而且mingw的多線程編譯應該是'-j'才對。是以将其修改如下,注釋掉'-A', 'X64',改為4線程編譯。
if 
           
另外NMake Makefile是visual studio的生成器,我們使用的是mingw,是以我們應該使用mingw的生成器。 删除目前目錄下的build檔案夾(否則會使用前面的錯誤編譯緩存),

在目前dlib目錄打開cmd,輸入以下指令運作python版本dlib編譯安裝:其中

-G "MinGW Makefiles"表示使用mingw的生成器

bdist_wheel表示編譯生成.whl檔案。
python setup.py -G "MinGW Makefiles" bdist_wheel
           

dlib開始順利編譯安裝:

dlib安裝_win10+dlib+python3.7+minGW編譯安裝
dlib安裝_win10+dlib+python3.7+minGW編譯安裝
編譯過程會自動檢查你的計算機是否有CUDA和顯示卡,然後會自動選擇是否安裝CUDA版本的dlib,注意在windows平台上的mingw編譯器是不支援CUDA的,是以即使你有顯示卡和CUDA它也不會安裝CUDA版本的dlib,目前windows平台上隻有visual studio是支援CUDA的。

等待大概10分鐘編譯完成:

dlib安裝_win10+dlib+python3.7+minGW編譯安裝

這時在我們的目前目錄下多生成了三個檔案夾:

dlib安裝_win10+dlib+python3.7+minGW編譯安裝

其中dist檔案夾中就是我們非常熟悉的

dlib-19.19.99-cp37-cp37m-win_amd64.whl

檔案了

dlib安裝_win10+dlib+python3.7+minGW編譯安裝

目前目錄打開cmd,輸入以下指令安裝:

pip install dlib-19.19.99-cp37-cp37m-win_amd64.whl
           

測試安裝:

dlib安裝_win10+dlib+python3.7+minGW編譯安裝

成功導入了dlib包!!

如果這篇文章幫到你的話,别忘了點贊哦!!!