質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.25%

Python dlibのインストールのエラー

解決済

回答 3

投稿

  • 評価
  • クリップ 1
  • VIEW 1,346

Natsuki_Ueda

score 8

現在、Pythonでの機械学習用のパッケージ"dlib"のインストールを行いたいのですが出来ずに困っています。
Anaconda Promptからpipを使ってインストールするのですが、下のような長文のエラーが赤字で出ます。
どうやらCMakeがいるようなのでCMakeはpipでインストール出来ましたが、それでも変わらずエラーが出ます。

pip install dlib
Collecting dlib
  Using cached dlib-19.19.0.tar.gz (3.2 MB)
Building wheels for collected packages: dlib
  Building wheel for dlib (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: 'c:\users\biafr\anaconda3\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\biafr\\AppData\\Local\\Temp\\pip-install-aw21_h7b\\dlib\\setup.py'"'"'; __file__='"'"'C:\\Users\\biafr\\AppData\\Local\\Temp\\pip-install-aw21_h7b\\dlib\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d 'C:\Users\biafr\AppData\Local\Temp\pip-wheel-_w47zsez'
       cwd: C:\Users\biafr\AppData\Local\Temp\pip-install-aw21_h7b\dlib\
  Complete output (55 lines):
  running bdist_wheel
  running build
  running build_py
  package init file 'dlib\__init__.py' not found (or not a regular file)
  running build_ext
  Building extension for Python 3.7.4 (default, Aug  9 2019, 18:34:13) [MSC v.1915 64 bit (AMD64)]
  Invoking CMake setup: 'cmake C:\Users\biafr\AppData\Local\Temp\pip-install-aw21_h7b\dlib\tools\python -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:\Users\biafr\AppData\Local\Temp\pip-install-aw21_h7b\dlib\build\lib.win-amd64-3.7 -DPYTHON_EXECUTABLE=c:\users\biafr\anaconda3\python.exe -DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE=C:\Users\biafr\AppData\Local\Temp\pip-install-aw21_h7b\dlib\build\lib.win-amd64-3.7 -A x64'
  -- Building for: NMake Makefiles
  CMake Error at CMakeLists.txt:3 (project):
    Generator

      NMake Makefiles

    does not support platform specification, but platform

      x64

    was specified.


  CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
  CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
  -- Configuring incomplete, errors occurred!
  See also "C:/Users/biafr/AppData/Local/Temp/pip-install-aw21_h7b/dlib/build/temp.win-amd64-3.7/Release/CMakeFiles/CMakeOutput.log".
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "C:\Users\biafr\AppData\Local\Temp\pip-install-aw21_h7b\dlib\setup.py", line 261, in <module>
      'Topic :: Software Development',
    File "c:\users\biafr\anaconda3\lib\site-packages\setuptools\__init__.py", line 145, in setup
      return distutils.core.setup(**attrs)
    File "c:\users\biafr\anaconda3\lib\distutils\core.py", line 148, in setup
      dist.run_commands()
    File "c:\users\biafr\anaconda3\lib\distutils\dist.py", line 966, in run_commands
      self.run_command(cmd)
    File "c:\users\biafr\anaconda3\lib\distutils\dist.py", line 985, in run_command
      cmd_obj.run()
    File "c:\users\biafr\anaconda3\lib\site-packages\wheel\bdist_wheel.py", line 192, in run
      self.run_command('build')
    File "c:\users\biafr\anaconda3\lib\distutils\cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "c:\users\biafr\anaconda3\lib\distutils\dist.py", line 985, in run_command
      cmd_obj.run()
    File "c:\users\biafr\anaconda3\lib\distutils\command\build.py", line 135, in run
      self.run_command(cmd_name)
    File "c:\users\biafr\anaconda3\lib\distutils\cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "c:\users\biafr\anaconda3\lib\distutils\dist.py", line 985, in run_command
      cmd_obj.run()
    File "C:\Users\biafr\AppData\Local\Temp\pip-install-aw21_h7b\dlib\setup.py", line 135, in run
      self.build_extension(ext)
    File "C:\Users\biafr\AppData\Local\Temp\pip-install-aw21_h7b\dlib\setup.py", line 172, in build_extension
      subprocess.check_call(cmake_setup, cwd=build_folder)
    File "c:\users\biafr\anaconda3\lib\subprocess.py", line 347, in check_call
      raise CalledProcessError(retcode, cmd)
  subprocess.CalledProcessError: Command '['cmake', 'C:\\Users\\biafr\\AppData\\Local\\Temp\\pip-install-aw21_h7b\\dlib\\tools\\python', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:\\Users\\biafr\\AppData\\Local\\Temp\\pip-install-aw21_h7b\\dlib\\build\\lib.win-amd64-3.7', '-DPYTHON_EXECUTABLE=c:\\users\\biafr\\anaconda3\\python.exe', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE=C:\\Users\\biafr\\AppData\\Local\\Temp\\pip-install-aw21_h7b\\dlib\\build\\lib.win-amd64-3.7', '-A', 'x64']' returned non-zero exit status 1.
  ----------------------------------------
  ERROR: Failed building wheel for dlib
  Running setup.py clean for dlib
Failed to build dlib
Installing collected packages: dlib
    Running setup.py install for dlib ... error


すいません、文字数の加減でエラー文すべてを載せれませんでした。
上のエラーの中にある

  CMake Error at CMakeLists.txt:3 (project):
    Generator

      NMake Makefiles

    does not support platform specification, but platform

      x64

    was specified.


  CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
  CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage


で検索してみたところ、こちらがヒットしましたが、英語なので詳しい内容があっているか分かりませんが、とりあえず、ここからダウンロードしたCMakeのソフトのようなものをインストールし

pip install dlib==19.4


でインストールし直してみましたが変わらずでした。

すみませんが分かる方いらっしゃいましたら、教えて下さい。


環境
Windows 10
Python 3.7.4
pip 20.0.1

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • tiitoi

    2020/01/24 16:52

    そのエラーは CMake がコンパイラを見つけられてないときに出るエラーなので、コンパイラが入っていないのかと思ったのですが、すでにインストール済みということは、うまく見つけられていないということなんでしょうかね。
    すみませんが、dlib をインストールしたことがないので、詳しい原因についてはよくわからないです。

    キャンセル

  • meg_

    2020/02/01 22:03

    コンパイラのパスは通っていますか?

    キャンセル

  • Natsuki_Ueda

    2020/02/11 21:53

    すみません、そのコンパイラのパスが通っているかの確認方法を教えていただけますか?

    キャンセル

回答 3

+1

make している最中にエラー

does not support platform specification, but platform
     x64

が出力されてますね。使用している端末ではサポートしてないが
64bitなら対応しているとよみとれるので

OSのbit数等を確認されてはいかがでしょうか?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/02/11 21:59

    現在使用しているのが32ビット版ではなく64ビット版なのです......

    キャンセル

check解決した方法

0

dlib無事にインストールできました。回答してくださった方々、ありがとうございました。
最後に試した日から二週間ほど空いた頃にもう一度やってみたところ、なぜかすんなりインストールできました。
ここに回答してくださった方々の提案を元に、色々試行錯誤しているどれかが当たったのでしょう。
全然解決方法でも何でもなく、参考にはならないかもしれませんが一応うまくいきましたという報告です。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

Stackoverflowの回答を確認したところ、
Add cmake into PATH(C:\Program Files\CMake\bin)
→PATHにcmakeを追加する
とあるので、
Windowsのスタート→コンピューター→コンピューターを右クリック→プロパティ→システムの詳細設定を順にたどるか、コントロールパネル→システムとセキュリティ→システム→システムの詳細設定を順にたどって
PATHを追加し、その後

Then install using pip:
pip install dlib==19.4
→pip installでdlibのバージョンを指定してインストール
で解決するのではないでしょうか?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/02/11 22:01

    回答ありがとうございます。
    pathを追加するというのは、具体的には、システム環境変数に何を書きこめばいいのでしょうか?

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.25%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる