ソースに絡まるエスカルゴ

貧弱プログラマの外部記憶装置です。

【python】Windowsにdlibをインストールする

 以前の記事でMacにdlibをインストールしました。

 今回はWindowsでもdlibのインストールをやってみたのでその備忘録です。

 では始めます。


0:前提条件
 以下の記事を参考にしてWindowspythonOpenCVを入れて使える状態にしておきます。
rikoubou.hatenablog.com


1:CMakeのインストール
 最初にCMakeをインストールします。

 CMakeのダウンロードページからインストーラを選択してダウンロードします(ここでは3.15.0の64bit)。
f:id:rikoubou:20190617151715p:plain

 インストーラを起動させて指示通りにインストールしていけばOKです。

 CMakeがインストールできたかはPowerShellを立ち上げ、以下のコマンドを入力します。

$ cmake --version

 エラーなくCMakeのバージョンが表示されればインストールできています。


2:Visual Studioのインストール
 次にCMakeのバージョンに合ったVisual Studioコンパイラを入れる必要があります。
 1でCMake 3.15.0をインストールしていた場合は、Visual Studio 2019のコンパイラが必要になります。

 個人利用なのでCommunityを選択してダウンロードします。
f:id:rikoubou:20190617153134p:plain

 インストーラを起動させて色々やっていくと途中で以下のような画面になりますが、コンパイラさえ入ればいいので「C++によるデスクトップ開発」にのみチェックを入れてインストールします。
f:id:rikoubou:20190617153852p:plain

 これでVisual Studio 2019のコンパイラが入ります。


3:pipを使ってdlibをインストールする
 ようやくdlibをインストールする準備ができたのでPowerShellを立ち上げて、以下のpipコマンドでdlibをインストールします。

$ pip install dlib

 インストールにしばらく時間がかかりますが、エラーなく終了していれば大丈夫です。

 PowerShellを立ち上げpythonでimportしてエラーが出なければちゃんとインストールできています。

$ python
>>> import dlib # ここでエラーがでなければOK
>>> exit()


おまけ:自分が嵌ったエラー
 dlibのインストールコマンドでエラーになる場合があります。
 自分の場合はCMakeもVisual Studioも入れているのに以下のようなエラーが出ました。

Collecting dlib
  Using cached https://files.pythonhosted.org/packages/05/57/e8a8caa3c89a27f80bc78da39c423e2553f482a3705adc619176a3a24b36/dlib-19.17.0.tar.gz
Installing collected packages: dlib
  Running setup.py install for dlib ... error
--- 中略 ---
    -- Building for: Visual Studio 16 2019
    CMake Warning (dev) in CMakeLists.txt:
      No project() command is present.  The top-level CMakeLists.txt file must
      contain a literal, direct call to the project() command.  Add a line of
      code such as
    
        project(ProjectName)
    
      near the top of the file, but after cmake_minimum_required().
    
      CMake is pretending there is a "project(Project)" command on the first
      line.
    This warning is for project developers.  Use -Wno-dev to suppress it.
--- 中略 ---
    -- Found PythonInterp: C:/xxxxx/Python/Python37-32/python.exe (found version "3.7.3")
    CMake Error at C:/xxxxx/pip-install-ykd_q9zp/dlib/dlib/external/pybind11/tools/FindPythonLibsNew.cmake:122 (message):
      Python config failure: Python is 32-bit, chosen compiler is 64-bit
--- 以下略 ---

 このエラーの中で重要なのは「Python config failure: Python is 32-bit, chosen compiler is 64-bit」の部分で、要は「Pythonは32bitだけどコンパイラは64bitなのでエラー」ということです。

 pythonのインストール時に64bitか32bitかを確認しておく必要があります。
 もちろんCMakeのインストール時にも64bitか32bitかを確認して合わせるようにしましょう。


 以上がWindowsにdlibをインストールする方法です。

 Macの時とは違ってVisual Studioのインストールが必要だったりと色々と大変でした…。


・参考資料