問題概述
目的:想要在Windows 10 64bit 上安裝face_recongnition 0.2.0
已有條件:Anaconda2-4.1.1-Windows-x86_64.exe
出現的問題:直接pip install face_recongnition,會報錯,提示沒有cmake
查資料
安裝face_recongnition的必要條件是:配置好Dlib
安裝Dlib的必要條件是配置好boost和cmake
已進行步驟
1.采用http://blog.csdn.net/insanity666/article/details/72235275 的步驟安裝dlib
2.已安裝的cmake為最新版cmake-3.9.0-rc6-win64-x64
3.已安裝的boost為最新版boost_1_64_0
在進行操作的時候,發現boost_1_64_0的解壓目錄不存在stage這個文件夾,所以直接設置環境變量為C:\Users\lyc\Desktop\boost_1_64_0\libs,不知道對不對。
4.下載的dlib版本為dlib-19.4,在進行dlib安裝的時候,報以下錯誤:
CMake Error at C:/Users/lyc/Desktop/dlib-19.4/dlib/cmake_utils/add_python_module:116 (message):
Boost python library not found.
Call Stack (most recent call first):
CMakeLists.txt:6 (include)
-- Configuring incomplete, errors occurred!
See also "C:/Users/lyc/Desktop/dlib-19.4/tools/python/build/CMakeFiles/CMakeOutput.log".
error: cmake configuration failed!
5.又試了一下pip install face_recongnition,發現報的錯誤一樣,原因可能還是boost沒配置好
如何解決?
再查查boost 1.64如何配置
如果不行試一試boost 1.63版本可不可行
20170719夜 記錄
20170722 新增
解決思路
為了解決以上問題,下載了boost 1.63版本,采用http://blog.csdn.net/insanity666/article/details/72235275 的步驟安裝,但是發現該教程安裝boost部分是參考另一個教程,而且在配置環境變量的時候少了最后兩個步驟。配置過程中發現boost 1.63編譯之后生成了stage文件夾,而1.64版本則沒有,很奇怪,可能新版本改了吧,或者配置方法不一樣。配置完成后,又試了試pip install face_recognition,發現還是不行
這次由于環境變量設對了,報的錯已不是上面的那個,仔細看了看所報的錯誤,說是沒發現boost,如果已安裝boost,那么有可能是用于編譯的visual studio版本太老,不支持c++ 11,建議用vs2015以上的版本進行編譯。我用的是vs2012,索性下了一個vs2015,安裝了一個晚上,早上起來,重新安裝了一下cmake,然后重新安裝并配置了一下boost,再次嘗試pip install face_recognition,安裝成功,開心。
C:\Users\lyc>pip install face_recognition
Collecting face_recognition
Using cached face_recognition-0.2.0-py2.py3-none-any.whl
Requirement already satisfied: face-recognition-models in e:\anaconda2\lib\site-packages (from face_recognition)
Requirement already satisfied: Click>=6.0 in e:\anaconda2\lib\site-packages (from face_recognition)
Requirement already satisfied: Pillow in e:\anaconda2\lib\site-packages (from face_recognition)
Requirement already satisfied: numpy in e:\anaconda2\lib\site-packages (from face_recognition)
Requirement already satisfied: scipy>=0.17.0 in e:\anaconda2\lib\site-packages (from face_recognition)
Collecting dlib>=19.3.0 (from face_recognition)
Using cached dlib-19.4.0.tar.gz
Building wheels for collected packages: dlib
Running setup.py bdist_wheel for dlib ... done
Stored in directory: C:\Users\lyc\AppData\Local\pip\Cache\wheels\9f\a3\5a\8ab6d5b6384f703392281e40e34d860435fe2fea6cc4d8947e
Successfully built dlib
Installing collected packages: dlib, face-recognition
Successfully installed dlib-19.4.0 face-recognition-0.2.0
總結
安裝face_recongnition的步驟
1.安裝VS2015
2.安裝cmake-3.9.0-rc6-win64-x64,直接下載的msi,雙擊安裝即可
3.安裝boost_1_63_0,步驟:
- 運行 bootstrap.bat. 生成三個文件,其中包括b2
-- bootstrap.bat - 運行b2
-- b2 install - 利用b2編譯庫文件
-- b2 -a --with-python address-model=64 toolset=msvc runtime-link=static
注意自己的機器是64位還是32位, address-model=64/32 - 設置變量
-- set BOOST_ROOT=C:\local\boost_1_57_0
-- set BOOST_LIBRARYDIR=C:\local\boost_1_57_0\stage\lib
將這兩個變量設置到到Path變量中: %BOOST_ROOT%;%BOOST_LIBRARYDIR%
4.安裝dlib-19.4,直接pip install dlib,或者下載壓縮包自行安裝,或者跳過本步驟,因為pip install face_recognition會自動下載并安裝dlib
- pip install face_recognition,大功告成
版本信息:
- cmake cmake-3.9.0-rc6-win64-x64
- boost 1.63.0
- dlib 19.4
- face_recognition 0.2.0