Search code examples
pythondlib

Error installing python dlib uder jupyrer notebook


Under Jupiter notebook, i tried to install dlib package :

pip install dlib

I obtained the following error :

Collecting dlib
  Using cached dlib-19.24.2.tar.gz (11.8 MB)
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
Building wheels for collected packages: dlib
  Building wheel for dlib (pyproject.toml): started
  Building wheel for dlib (pyproject.toml): finished with status 'error'
Failed to build dlib
  error: subprocess-exited-with-error
  
  Building wheel for dlib (pyproject.toml) did not run successfully.
  exit code: 1
  
  [73 lines of output]
  running bdist_wheel
  running build
  running build_ext
  <string>:125: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
  Building extension for Python 3.10.10 | packaged by Anaconda, Inc. | (main, Mar 21 2023, 18:39:17) [MSC v.1916 64 bit (AMD64)]
  Invoking CMake setup: 'cmake C:\Users\Public\Documents\Wondershare\CreatorTemp\pip-install-s4im1wse\dlib_6311ea7c12944928afe6fa5cda1f5d5d\tools\python -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:\Users\Public\Documents\Wondershare\CreatorTemp\pip-install-s4im1wse\dlib_6311ea7c12944928afe6fa5cda1f5d5d\build\lib.win-amd64-cpython-310 -DPYTHON_EXECUTABLE=C:\Users\Rayane_2\AppData\Local\r-miniconda\python.exe -DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE=C:\Users\Public\Documents\Wondershare\CreatorTemp\pip-install-s4im1wse\dlib_6311ea7c12944928afe6fa5cda1f5d5d\build\lib.win-amd64-cpython-310 -A x64'
  -- Building for: NMake Makefiles
  CMake Error at CMakeLists.txt:5 (message):
  
  
  
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  
  
    You must use Visual Studio to build a python extension on windows.  If you
    are getting this error it means you have not installed Visual C++.  Note
    that there are many flavors of Visual Studio, like Visual Studio for C#
    development.  You need to install Visual Studio for C++.
  
  
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  
  
  
  
  -- Configuring incomplete, errors occurred!
  Traceback (most recent call last):
    File "C:\Users\Rayane_2\AppData\Local\r-miniconda\lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 353, in <module>
      main()
    File "C:\Users\Rayane_2\AppData\Local\r-miniconda\lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 335, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "C:\Users\Rayane_2\AppData\Local\r-miniconda\lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 251, in build_wheel
      return _build_backend().build_wheel(wheel_directory, config_settings,
    File "C:\Users\Public\Documents\Wondershare\CreatorTemp\pip-build-env-6m1cj1ox\overlay\Lib\site-packages\setuptools\build_meta.py", line 416, in build_wheel
      return self._build_with_temp_dir(['bdist_wheel'], '.whl',
    File "C:\Users\Public\Documents\Wondershare\CreatorTemp\pip-build-env-6m1cj1ox\overlay\Lib\site-packages\setuptools\build_meta.py", line 401, in _build_with_temp_dir
      self.run_setup()
    File "C:\Users\Public\Documents\Wondershare\CreatorTemp\pip-build-env-6m1cj1ox\overlay\Lib\site-packages\setuptools\build_meta.py", line 338, in run_setup
      exec(code, locals())
    File "<string>", line 218, in <module>
    File "C:\Users\Public\Documents\Wondershare\CreatorTemp\pip-build-env-6m1cj1ox\overlay\Lib\site-packages\setuptools\__init__.py", line 107, in setup
      return distutils.core.setup(**attrs)
    File "C:\Users\Public\Documents\Wondershare\CreatorTemp\pip-build-env-6m1cj1ox\overlay\Lib\site-packages\setuptools\_distutils\core.py", line 185, in setup
      return run_commands(dist)
    File "C:\Users\Public\Documents\Wondershare\CreatorTemp\pip-build-env-6m1cj1ox\overlay\Lib\site-packages\setuptools\_distutils\core.py", line 201, in run_commands
      dist.run_commands()
    File "C:\Users\Public\Documents\Wondershare\CreatorTemp\pip-build-env-6m1cj1ox\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 969, in run_commands
      self.run_command(cmd)
    File "C:\Users\Public\Documents\Wondershare\CreatorTemp\pip-build-env-6m1cj1ox\overlay\Lib\site-packages\setuptools\dist.py", line 1234, in run_command
      super().run_command(command)
    File "C:\Users\Public\Documents\Wondershare\CreatorTemp\pip-build-env-6m1cj1ox\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
      cmd_obj.run()
    File "C:\Users\Public\Documents\Wondershare\CreatorTemp\pip-build-env-6m1cj1ox\overlay\Lib\site-packages\wheel\bdist_wheel.py", line 346, in run
      self.run_command("build")
    File "C:\Users\Public\Documents\Wondershare\CreatorTemp\pip-build-env-6m1cj1ox\overlay\Lib\site-packages\setuptools\_distutils\cmd.py", line 318, in run_command
      self.distribution.run_command(command)
    File "C:\Users\Public\Documents\Wondershare\CreatorTemp\pip-build-env-6m1cj1ox\overlay\Lib\site-packages\setuptools\dist.py", line 1234, in run_command
      super().run_command(command)
    File "C:\Users\Public\Documents\Wondershare\CreatorTemp\pip-build-env-6m1cj1ox\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
      cmd_obj.run()
    File "C:\Users\Public\Documents\Wondershare\CreatorTemp\pip-build-env-6m1cj1ox\overlay\Lib\site-packages\setuptools\_distutils\command\build.py", line 131, in run
      self.run_command(cmd_name)
    File "C:\Users\Public\Documents\Wondershare\CreatorTemp\pip-build-env-6m1cj1ox\overlay\Lib\site-packages\setuptools\_distutils\cmd.py", line 318, in run_command
      self.distribution.run_command(command)
    File "C:\Users\Public\Documents\Wondershare\CreatorTemp\pip-build-env-6m1cj1ox\overlay\Lib\site-packages\setuptools\dist.py", line 1234, in run_command
      super().run_command(command)
    File "C:\Users\Public\Documents\Wondershare\CreatorTemp\pip-build-env-6m1cj1ox\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
      cmd_obj.run()
    File "<string>", line 130, in run
    File "<string>", line 167, in build_extension
    File "C:\Users\Rayane_2\AppData\Local\r-miniconda\lib\subprocess.py", line 369, in check_call
      raise CalledProcessError(retcode, cmd)
  subprocess.CalledProcessError: Command '['cmake', 'C:\\Users\\Public\\Documents\\Wondershare\\CreatorTemp\\pip-install-s4im1wse\\dlib_6311ea7c12944928afe6fa5cda1f5d5d\\tools\\python', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:\\Users\\Public\\Documents\\Wondershare\\CreatorTemp\\pip-install-s4im1wse\\dlib_6311ea7c12944928afe6fa5cda1f5d5d\\build\\lib.win-amd64-cpython-310', '-DPYTHON_EXECUTABLE=C:\\Users\\Rayane_2\\AppData\\Local\\r-miniconda\\python.exe', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE=C:\\Users\\Public\\Documents\\Wondershare\\CreatorTemp\\pip-install-s4im1wse\\dlib_6311ea7c12944928afe6fa5cda1f5d5d\\build\\lib.win-amd64-cpython-310', '-A', 'x64']' returned non-zero exit status 1.
  [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for dlib
ERROR: Could not build wheels for dlib, which is required to install pyproject.toml-based projects

I do not understand this error, cmake is already installed.

import sys
print(sys.version)
3.10.10 | packaged by Anaconda, Inc. | (main, Mar 21 2023, 18:39:17) [MSC v.1916 64 bit (AMD64)]

it seems error is coming from cmake installation , when trying cmake --version command in cmd , the command is not recognized by compiler .

C:\Users\Rayane_2>cmake --version
'cmake' is not recognized as an internal or external command,
operable program or batch file.

Solution

  • I solved the problem , those are the steps:

    1. Check your Python, pip, and CMake versions. Dlib requires Python (2.7, 3.5, or newer), pip (19.0 or newer), and CMake (3.8 or newer). You can check their versions with the following commands:
    2. Python: python --version or python3 --version
    3. pip: pip --version or pip3 --version
    4. CMake: cmake --version

    I installed cmake again using official website https://cmake.org/download/

    1. Update pip and setuptools. Older versions might have compatibility issues with dlib. Use the following commands to update:

    2. pip install --upgrade pip

    3. pip install --upgrade setuptools

    4. Install Visual Studio build tools. If you're using Windows, you'll need Visual Studio and C++ build tools. You can download them from the Visual Studio website: https://visualstudio.microsoft.com/visual-cpp-build-tools/

    5. Go to the Visual Studio downloads page at https://visualstudio.microsoft.com/downloads/

    6. Under the "All downloads" section, find "Tools for Visual Studio 2019". Click on "See all downloads".

    7. In the opened page, find "Build Tools for Visual Studio 2019" and click the "Download" button next to it.

    8. Run the downloaded installer. This opens the Visual Studio Installer.

    9. In the installer, under "Workloads", select "C++ build tools".

    10. Make sure to include at least the following components on the right:

    • MSVC v142 - VS 2019 C++ x64/x86 build tools - Windows 10 SDK - C++ CMake tools for Windows - C++ ATL for latest v142 build tools (x86 & x64)
    1. Click "Install" to start the installation.

    2. Once done , install again from cmd / jupyter cell : pip install dlib

    3. Import using : import dlib