Как исправить DLIB для Python / Windows в 2020 году? - PullRequest
1 голос
/ 01 апреля 2020

Я видел довольно много старых ответов, но ничего нового. Я пытаюсь установить pip face_recognition, которая требует библиотеки dlib. Я уже пытался установить pmake cmake и он установился нормально. Я попытался установить plib dlib самостоятельно и получил ошибки. Я пробовал несколько версий, и это не сработало. Вот конкретная c часть ошибки, которую я пытаюсь устранить. Я посмотрел как 10 видео на YouTube, и ничто не решает эту проблему c.

CMake Error at C:/Users/Notebook/AppData/Local/Temp/pip-install-m4y9pm9i/dlib/dlib/external/pybind11/tools/FindPythonLibsNew.cmake:124 (message):
      Python config failure: Python is 32-bit, chosen compiler is 64-bit

И вот вся ошибка.

 ERROR: Command errored out with exit status 1:
     command: 'c:\users\notebook\appdata\local\programs\python\python37-32\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\Notebook\\AppData\\Local\\Temp\\pip-install-m4y9pm9i\\dlib\\setup.py'"'"'; __file__='"'"'C:\\Users\\Notebook\\AppData\\Local\\Temp\\pip-install-m4y9pm9i\\dlib\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\Notebook\AppData\Local\Temp\pip-record-zvgo3oos\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users\notebook\appdata\local\programs\python\python37-32\Include\dlib'
         cwd: C:\Users\Notebook\AppData\Local\Temp\pip-install-m4y9pm9i\dlib\
    Complete output (66 lines):
    running install
    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.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 21:26:53) [MSC v.1916 32 bit (Intel)]
    Invoking CMake setup: 'cmake C:\Users\Notebook\AppData\Local\Temp\pip-install-m4y9pm9i\dlib\tools\python -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:\Users\Notebook\AppData\Local\Temp\pip-install-m4y9pm9i\dlib\build\lib.win32-3.7 -DPYTHON_EXECUTABLE=c:\users\notebook\appdata\local\programs\python\python37-32\python.exe -DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE=C:\Users\Notebook\AppData\Local\Temp\pip-install-m4y9pm9i\dlib\build\lib.win32-3.7'
    -- Building for: Visual Studio 16 2019
    -- Selecting Windows SDK version 10.0.17763.0 to target Windows 10.0.18363.
    -- The C compiler identification is MSVC 19.21.27702.2
    -- The CXX compiler identification is MSVC 19.21.27702.2
    -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.21.27702/bin/Hostx64/x64/cl.exe
    -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.21.27702/bin/Hostx64/x64/cl.exe -- works
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.21.27702/bin/Hostx64/x64/cl.exe
    -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.21.27702/bin/Hostx64/x64/cl.exe -- works
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Found PythonInterp: C:/Users/Notebook/AppData/Local/Programs/Python/Python37-32/python.exe (found version "3.7.3")
    CMake Error at C:/Users/Notebook/AppData/Local/Temp/pip-install-m4y9pm9i/dlib/dlib/external/pybind11/tools/FindPythonLibsNew.cmake:124 (message):
      Python config failure: Python is 32-bit, chosen compiler is 64-bit
    Call Stack (most recent call first):
      C:/Users/Notebook/AppData/Local/Temp/pip-install-m4y9pm9i/dlib/dlib/external/pybind11/tools/pybind11Tools.cmake:16 (find_package)
      C:/Users/Notebook/AppData/Local/Temp/pip-install-m4y9pm9i/dlib/dlib/external/pybind11/CMakeLists.txt:33 (include)


    -- Configuring incomplete, errors occurred!
    See also "C:/Users/Notebook/AppData/Local/Temp/pip-install-m4y9pm9i/dlib/build/temp.win32-3.7/Release/CMakeFiles/CMakeOutput.log".
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\Notebook\AppData\Local\Temp\pip-install-m4y9pm9i\dlib\setup.py", line 261, in <module>
        'Topic :: Software Development',
      File "c:\users\notebook\appdata\local\programs\python\python37-32\lib\site-packages\setuptools\__init__.py", line 145, in setup
        return distutils.core.setup(**attrs)
      File "c:\users\notebook\appdata\local\programs\python\python37-32\lib\distutils\core.py", line 148, in setup
        dist.run_commands()
      File "c:\users\notebook\appdata\local\programs\python\python37-32\lib\distutils\dist.py", line 966, in run_commands
        self.run_command(cmd)
      File "c:\users\notebook\appdata\local\programs\python\python37-32\lib\distutils\dist.py", line 985, in run_command
        cmd_obj.run()
      File "c:\users\notebook\appdata\local\programs\python\python37-32\lib\site-packages\setuptools\command\install.py", line 61, in run
        return orig.install.run(self)
      File "c:\users\notebook\appdata\local\programs\python\python37-32\lib\distutils\command\install.py", line 545, in run
        self.run_command('build')
      File "c:\users\notebook\appdata\local\programs\python\python37-32\lib\distutils\cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "c:\users\notebook\appdata\local\programs\python\python37-32\lib\distutils\dist.py", line 985, in run_command
        cmd_obj.run()
      File "c:\users\notebook\appdata\local\programs\python\python37-32\lib\distutils\command\build.py", line 135, in run
        self.run_command(cmd_name)
      File "c:\users\notebook\appdata\local\programs\python\python37-32\lib\distutils\cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "c:\users\notebook\appdata\local\programs\python\python37-32\lib\distutils\dist.py", line 985, in run_command
        cmd_obj.run()
      File "C:\Users\Notebook\AppData\Local\Temp\pip-install-m4y9pm9i\dlib\setup.py", line 135, in run
        self.build_extension(ext)
      File "C:\Users\Notebook\AppData\Local\Temp\pip-install-m4y9pm9i\dlib\setup.py", line 172, in build_extension
        subprocess.check_call(cmake_setup, cwd=build_folder)
      File "c:\users\notebook\appdata\local\programs\python\python37-32\lib\subprocess.py", line 347, in check_call
        raise CalledProcessError(retcode, cmd)
    subprocess.CalledProcessError: Command '['cmake', 'C:\\Users\\Notebook\\AppData\\Local\\Temp\\pip-install-m4y9pm9i\\dlib\\tools\\python', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:\\Users\\Notebook\\AppData\\Local\\Temp\\pip-install-m4y9pm9i\\dlib\\build\\lib.win32-3.7', '-DPYTHON_EXECUTABLE=c:\\users\\notebook\\appdata\\local\\programs\\python\\python37-32\\python.exe', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE=C:\\Users\\Notebook\\AppData\\Local\\Temp\\pip-install-m4y9pm9i\\dlib\\build\\lib.win32-3.7']' returned non-zero exit status 1.
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'c:\users\notebook\appdata\local\programs\python\python37-32\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\Notebook\\AppData\\Local\\Temp\\pip-install-m4y9pm9i\\dlib\\setup.py'"'"'; __file__='"'"'C:\\Users\\Notebook\\AppData\\Local\\Temp\\pip-install-m4y9pm9i\\dlib\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\Notebook\AppData\Local\Temp\pip-record-zvgo3oos\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users\notebook\appdata\local\programs\python\python37-32\Include\dlib' Check the logs for full command output.

1 Ответ

0 голосов
/ 04 апреля 2020

Я скомпилировал dlib для android, но не нужно было делать это для python в windows. Загрузите 64-битную Anaconda Python 3.7, создайте conda environment и установите на нее dlib.

https://anaconda.org/conda-forge/dlib

Возможно, вам потребуется установить numpy, opencv et c пакеты заранее, чтобы избежать некоторых ошибок. Затем вы можете pip установить face_recognition в этой среде conda.

Вы также можете clone the repo и установить его оттуда. Другой способ - открыть весь проект в IDE и создать скрипт python для запуска вашего кода.

https://github.com/ageitgey/face_recognition

https://pypi.org/project/face-recognition/

...