Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Could not build wheels for insightface (on Windows) #25

Closed
bingoyesbingoyes opened this issue Jun 16, 2024 · 2 comments
Closed

Could not build wheels for insightface (on Windows) #25

bingoyesbingoyes opened this issue Jun 16, 2024 · 2 comments

Comments

@bingoyesbingoyes
Copy link

bingoyesbingoyes commented Jun 16, 2024

When I tried to command in windows:

pip install insightface==0.7.3

I meet the problem below:

Processing d:\bingoyes\hallo\insightface-0.7.3.tar.gz
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: numpy in c:\users\bingoyes\.conda\envs\hallo\lib\site-packages (from insightface==0.7.3) (1.26.4)
Requirement already satisfied: onnx in c:\users\bingoyes\.conda\envs\hallo\lib\site-packages (from insightface==0.7.3) (1.16.1)
Requirement already satisfied: tqdm in c:\users\bingoyes\.conda\envs\hallo\lib\site-packages (from insightface==0.7.3) (4.66.4)
Requirement already satisfied: requests in c:\users\bingoyes\.conda\envs\hallo\lib\site-packages (from insightface==0.7.3) (2.32.3)
Requirement already satisfied: matplotlib in c:\users\bingoyes\.conda\envs\hallo\lib\site-packages (from insightface==0.7.3) (3.9.0)
Requirement already satisfied: Pillow in c:\users\bingoyes\.conda\envs\hallo\lib\site-packages (from insightface==0.7.3) (10.3.0)
Requirement already satisfied: scipy in c:\users\bingoyes\.conda\envs\hallo\lib\site-packages (from insightface==0.7.3) (1.13.1)
Requirement already satisfied: scikit-learn in c:\users\bingoyes\.conda\envs\hallo\lib\site-packages (from insightface==0.7.3) (1.5.0)
Requirement already satisfied: scikit-image in c:\users\bingoyes\.conda\envs\hallo\lib\site-packages (from insightface==0.7.3) (0.23.2)
Requirement already satisfied: easydict in c:\users\bingoyes\.conda\envs\hallo\lib\site-packages (from insightface==0.7.3) (1.13)
Requirement already satisfied: cython in c:\users\bingoyes\.conda\envs\hallo\lib\site-packages (from insightface==0.7.3) (3.0.10)
Collecting albumentations (from insightface==0.7.3)
  Using cached albumentations-1.4.8-py3-none-any.whl.metadata (37 kB)     
Collecting prettytable (from insightface==0.7.3)
  Using cached prettytable-3.10.0-py3-none-any.whl.metadata (30 kB)       
Requirement already satisfied: PyYAML in c:\users\bingoyes\.conda\envs\hallo\lib\site-packages (from albumentations->insightface==0.7.3) (6.0.1)    
Requirement already satisfied: typing-extensions>=4.9.0 in c:\users\bingoyes\.conda\envs\hallo\lib\site-packages (from albumentations->insightface==0.7.3) (4.12.2)
Collecting pydantic>=2.7.0 (from albumentations->insightface==0.7.3)
  Using cached pydantic-2.7.4-py3-none-any.whl.metadata (109 kB)
Collecting albucore>=0.0.4 (from albumentations->insightface==0.7.3)
  Using cached albucore-0.0.10-py3-none-any.whl.metadata (3.1 kB)
Requirement already satisfied: opencv-python-headless>=4.9.0.80 in c:\users\bingoyes\.conda\envs\hallo\lib\site-packages (from albumentations->insightface==0.7.3) (4.9.0.80)
Requirement already satisfied: networkx>=2.8 in c:\users\bingoyes\.conda\envs\hallo\lib\site-packages (from scikit-image->insightface==0.7.3) (3.3) 
Requirement already satisfied: imageio>=2.33 in c:\users\bingoyes\.conda\envs\hallo\lib\site-packages (from scikit-image->insightface==0.7.3) (2.34.1)
Requirement already satisfied: tifffile>=2022.8.12 in c:\users\bingoyes\.conda\envs\hallo\lib\site-packages (from scikit-image->insightface==0.7.3) (2024.5.22)
Requirement already satisfied: packaging>=21 in c:\users\bingoyes\.conda\envs\hallo\lib\site-packages (from scikit-image->insightface==0.7.3) (24.1)
Requirement already satisfied: lazy-loader>=0.4 in c:\users\bingoyes\.conda\envs\hallo\lib\site-packages (from scikit-image->insightface==0.7.3) (0.4)
Requirement already satisfied: joblib>=1.2.0 in c:\users\bingoyes\.conda\envs\hallo\lib\site-packages (from scikit-learn->insightface==0.7.3) (1.4.2)
Requirement already satisfied: threadpoolctl>=3.1.0 in c:\users\bingoyes\.conda\envs\hallo\lib\site-packages (from scikit-learn->insightface==0.7.3) (3.5.0)
Requirement already satisfied: contourpy>=1.0.1 in c:\users\bingoyes\.conda\envs\hallo\lib\site-packages (from matplotlib->insightface==0.7.3) (1.2.1)
Requirement already satisfied: cycler>=0.10 in c:\users\bingoyes\.conda\envs\hallo\lib\site-packages (from matplotlib->insightface==0.7.3) (0.12.1) 
Requirement already satisfied: fonttools>=4.22.0 in c:\users\bingoyes\.conda\envs\hallo\lib\site-packages (from matplotlib->insightface==0.7.3) (4.53.0)
Requirement already satisfied: kiwisolver>=1.3.1 in c:\users\bingoyes\.conda\envs\hallo\lib\site-packages (from matplotlib->insightface==0.7.3) (1.4.5)
Requirement already satisfied: pyparsing>=2.3.1 in c:\users\bingoyes\.conda\envs\hallo\lib\site-packages (from matplotlib->insightface==0.7.3) (3.1.2)
Requirement already satisfied: python-dateutil>=2.7 in c:\users\bingoyes\.conda\envs\hallo\lib\site-packages (from matplotlib->insightface==0.7.3) (2.9.0.post0)
Requirement already satisfied: protobuf>=3.20.2 in c:\users\bingoyes\.conda\envs\hallo\lib\site-packages (from onnx->insightface==0.7.3) (4.25.3)   
Collecting wcwidth (from prettytable->insightface==0.7.3)
  Using cached wcwidth-0.2.13-py2.py3-none-any.whl.metadata (14 kB)       
Requirement already satisfied: charset-normalizer<4,>=2 in c:\users\bingoyes\.conda\envs\hallo\lib\site-packages (from requests->insightface==0.7.3) (3.3.2)
Requirement already satisfied: idna<4,>=2.5 in c:\users\bingoyes\.conda\envs\hallo\lib\site-packages (from requests->insightface==0.7.3) (3.7)      
Requirement already satisfied: urllib3<3,>=1.21.1 in c:\users\bingoyes\.conda\envs\hallo\lib\site-packages (from requests->insightface==0.7.3) (2.2.1)
Requirement already satisfied: certifi>=2017.4.17 in c:\users\bingoyes\.conda\envs\hallo\lib\site-packages (from requests->insightface==0.7.3) (2024.6.2)
Requirement already satisfied: colorama in c:\users\bingoyes\.conda\envs\hallo\lib\site-packages (from tqdm->insightface==0.7.3) (0.4.6)
Requirement already satisfied: tomli>=2.0.1 in c:\users\bingoyes\.conda\envs\hallo\lib\site-packages (from albucore>=0.0.4->albumentations->insightface==0.7.3) (2.0.1)
Collecting annotated-types>=0.4.0 (from pydantic>=2.7.0->albumentations->insightface==0.7.3)
  Using cached annotated_types-0.7.0-py3-none-any.whl.metadata (15 kB)    
Collecting pydantic-core==2.18.4 (from pydantic>=2.7.0->albumentations->insightface==0.7.3)
  Using cached pydantic_core-2.18.4-cp310-none-win_amd64.whl.metadata (6.7 kB)
Requirement already satisfied: six>=1.5 in c:\users\bingoyes\.conda\envs\hallo\lib\site-packages (from python-dateutil>=2.7->matplotlib->insightface==0.7.3) (1.16.0)
Using cached albumentations-1.4.8-py3-none-any.whl (156 kB)
Using cached prettytable-3.10.0-py3-none-any.whl (28 kB)
Using cached albucore-0.0.10-py3-none-any.whl (8.4 kB)
Using cached pydantic-2.7.4-py3-none-any.whl (409 kB)
Using cached pydantic_core-2.18.4-cp310-none-win_amd64.whl (1.9 MB)       
Using cached wcwidth-0.2.13-py2.py3-none-any.whl (34 kB)
Using cached annotated_types-0.7.0-py3-none-any.whl (13 kB)
Building wheels for collected packages: insightface
  Building wheel for insightface (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for insightface (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [215 lines of output]
      WARNING: pandoc not enabled
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build\lib.win-amd64-cpython-310
      creating build\lib.win-amd64-cpython-310\insightface
      copying insightface\__init__.py -> build\lib.win-amd64-cpython-310\insightface
      creating build\lib.win-amd64-cpython-310\insightface\app
      copying insightface\app\common.py -> build\lib.win-amd64-cpython-310\insightface\app
      copying insightface\app\face_analysis.py -> build\lib.win-amd64-cpython-310\insightface\app
      copying insightface\app\mask_renderer.py -> build\lib.win-amd64-cpython-310\insightface\app
      copying insightface\app\__init__.py -> build\lib.win-amd64-cpython-310\insightface\app
      creating build\lib.win-amd64-cpython-310\insightface\commands       
      copying insightface\commands\insightface_cli.py -> build\lib.win-amd64-cpython-310\insightface\commands
      copying insightface\commands\model_download.py -> build\lib.win-amd64-cpython-310\insightface\commands
      copying insightface\commands\rec_add_mask_param.py -> build\lib.win-amd64-cpython-310\insightface\commands
      copying insightface\commands\__init__.py -> build\lib.win-amd64-cpython-310\insightface\commands
      creating build\lib.win-amd64-cpython-310\insightface\data
      copying insightface\data\image.py -> build\lib.win-amd64-cpython-310\insightface\data
      copying insightface\data\pickle_object.py -> build\lib.win-amd64-cpython-310\insightface\data
      copying insightface\data\rec_builder.py -> build\lib.win-amd64-cpython-310\insightface\data
      copying insightface\data\__init__.py -> build\lib.win-amd64-cpython-310\insightface\data
      creating build\lib.win-amd64-cpython-310\insightface\model_zoo      
      copying insightface\model_zoo\arcface_onnx.py -> build\lib.win-amd64-cpython-310\insightface\model_zoo
      copying insightface\model_zoo\attribute.py -> build\lib.win-amd64-cpython-310\insightface\model_zoo
      copying insightface\model_zoo\inswapper.py -> build\lib.win-amd64-cpython-310\insightface\model_zoo
      copying insightface\model_zoo\landmark.py -> build\lib.win-amd64-cpython-310\insightface\model_zoo
      copying insightface\model_zoo\model_store.py -> build\lib.win-amd64-cpython-310\insightface\model_zoo
      copying insightface\model_zoo\model_zoo.py -> build\lib.win-amd64-cpython-310\insightface\model_zoo
      copying insightface\model_zoo\retinaface.py -> build\lib.win-amd64-cpython-310\insightface\model_zoo
      copying insightface\model_zoo\scrfd.py -> build\lib.win-amd64-cpython-310\insightface\model_zoo
      copying insightface\model_zoo\__init__.py -> build\lib.win-amd64-cpython-310\insightface\model_zoo
      creating build\lib.win-amd64-cpython-310\insightface\thirdparty     
      copying insightface\thirdparty\__init__.py -> build\lib.win-amd64-cpython-310\insightface\thirdparty
      creating build\lib.win-amd64-cpython-310\insightface\utils
      copying insightface\utils\constant.py -> build\lib.win-amd64-cpython-310\insightface\utils
      copying insightface\utils\download.py -> build\lib.win-amd64-cpython-310\insightface\utils
      copying insightface\utils\face_align.py -> build\lib.win-amd64-cpython-310\insightface\utils
      copying insightface\utils\filesystem.py -> build\lib.win-amd64-cpython-310\insightface\utils
      copying insightface\utils\storage.py -> build\lib.win-amd64-cpython-310\insightface\utils
      copying insightface\utils\transform.py -> build\lib.win-amd64-cpython-310\insightface\utils
      copying insightface\utils\__init__.py -> build\lib.win-amd64-cpython-310\insightface\utils
      creating build\lib.win-amd64-cpython-310\insightface\thirdparty\face3d
      copying insightface\thirdparty\face3d\__init__.py -> build\lib.win-amd64-cpython-310\insightface\thirdparty\face3d
      creating build\lib.win-amd64-cpython-310\insightface\thirdparty\face3d\mesh
      copying insightface\thirdparty\face3d\mesh\io.py -> build\lib.win-amd64-cpython-310\insightface\thirdparty\face3d\mesh
      copying insightface\thirdparty\face3d\mesh\light.py -> build\lib.win-amd64-cpython-310\insightface\thirdparty\face3d\mesh
      copying insightface\thirdparty\face3d\mesh\render.py -> build\lib.win-amd64-cpython-310\insightface\thirdparty\face3d\mesh
      copying insightface\thirdparty\face3d\mesh\transform.py -> build\lib.win-amd64-cpython-310\insightface\thirdparty\face3d\mesh
      copying insightface\thirdparty\face3d\mesh\vis.py -> build\lib.win-amd64-cpython-310\insightface\thirdparty\face3d\mesh
      copying insightface\thirdparty\face3d\mesh\__init__.py -> build\lib.win-amd64-cpython-310\insightface\thirdparty\face3d\mesh
      creating build\lib.win-amd64-cpython-310\insightface\thirdparty\face3d\mesh_numpy
      copying insightface\thirdparty\face3d\mesh_numpy\io.py -> build\lib.win-amd64-cpython-310\insightface\thirdparty\face3d\mesh_numpy
      copying insightface\thirdparty\face3d\mesh_numpy\light.py -> build\lib.win-amd64-cpython-310\insightface\thirdparty\face3d\mesh_numpy
      copying insightface\thirdparty\face3d\mesh_numpy\render.py -> build\lib.win-amd64-cpython-310\insightface\thirdparty\face3d\mesh_numpy        
      copying insightface\thirdparty\face3d\mesh_numpy\transform.py -> build\lib.win-amd64-cpython-310\insightface\thirdparty\face3d\mesh_numpy     
      copying insightface\thirdparty\face3d\mesh_numpy\vis.py -> build\lib.win-amd64-cpython-310\insightface\thirdparty\face3d\mesh_numpy
      copying insightface\thirdparty\face3d\mesh_numpy\__init__.py -> build\lib.win-amd64-cpython-310\insightface\thirdparty\face3d\mesh_numpy      
      creating build\lib.win-amd64-cpython-310\insightface\thirdparty\face3d\morphable_model
      copying insightface\thirdparty\face3d\morphable_model\fit.py -> build\lib.win-amd64-cpython-310\insightface\thirdparty\face3d\morphable_model 
      copying insightface\thirdparty\face3d\morphable_model\load.py -> build\lib.win-amd64-cpython-310\insightface\thirdparty\face3d\morphable_model
      copying insightface\thirdparty\face3d\morphable_model\morphabel_model.py -> build\lib.win-amd64-cpython-310\insightface\thirdparty\face3d\morphable_model
      copying insightface\thirdparty\face3d\morphable_model\__init__.py -> build\lib.win-amd64-cpython-310\insightface\thirdparty\face3d\morphable_model
      running egg_info
      writing insightface.egg-info\PKG-INFO
      writing dependency_links to insightface.egg-info\dependency_links.txt
      writing entry points to insightface.egg-info\entry_points.txt       
      writing requirements to insightface.egg-info\requires.txt
      writing top-level names to insightface.egg-info\top_level.txt       
      reading manifest file 'insightface.egg-info\SOURCES.txt'
      writing manifest file 'insightface.egg-info\SOURCES.txt'
      C:\Users\bingoyes\AppData\Local\Temp\pip-build-env-ibn8tcr3\overlay\Lib\site-packages\setuptools\command\build_py.py:207: _Warning: Package 'insightface.thirdparty.face3d.mesh.cython' is absent from the `packages` configuration.
      !!

              ********************************************************************************
              ############################
              # Package would be ignored #
              ############################
              Python recognizes 'insightface.thirdparty.face3d.mesh.cython' as an importable package[^1],
              but it is absent from setuptools' `packages` configuration. 

              This leads to an ambiguous overall configuration. If you want to distribute this
              package, please make sure that 'insightface.thirdparty.face3d.mesh.cython' is explicitly added
              to the `packages` configuration field.

              Alternatively, you can also rely on setuptools' discovery methods
              (for example by using `find_namespace_packages(...)`/`find_namespace:`
              instead of `find_packages(...)`/`find:`).

              You can read more about "package discovery" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

              If you don't want 'insightface.thirdparty.face3d.mesh.cython' to be distributed and are
              already explicitly excluding 'insightface.thirdparty.face3d.mesh.cython' via
              `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
              you can try to use `exclude_package_data`, or `include-package-data=False` in
              combination with a more fine grained `package-data` configuration.

              You can read more about "package data files" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/datafiles.html


              [^1]: For Python, any directory (with suitable naming) can be imported,
                    even if it does not contain any `.py` files.
                    On the other hand, currently there is no concept of package data
                    directory, all directories are treated like packages. 
              ********************************************************************************

      !!
        check.warn(importable)
      C:\Users\bingoyes\AppData\Local\Temp\pip-build-env-ibn8tcr3\overlay\Lib\site-packages\setuptools\command\build_py.py:207: _Warning: Package 'insightface.data.images' is absent from the `packages` configuration.      
      !!

              ********************************************************************************
              ############################
              # Package would be ignored #
              ############################
              Python recognizes 'insightface.data.images' as an importable package[^1],
              but it is absent from setuptools' `packages` configuration. 

              This leads to an ambiguous overall configuration. If you want to distribute this
              package, please make sure that 'insightface.data.images' is explicitly added
              to the `packages` configuration field.

              Alternatively, you can also rely on setuptools' discovery methods
              (for example by using `find_namespace_packages(...)`/`find_namespace:`
              instead of `find_packages(...)`/`find:`).

              You can read more about "package discovery" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

              If you don't want 'insightface.data.images' to be distributed and are
              already explicitly excluding 'insightface.data.images' via  
              `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
              you can try to use `exclude_package_data`, or `include-package-data=False` in
              combination with a more fine grained `package-data` configuration.

              You can read more about "package data files" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/datafiles.html


              [^1]: For Python, any directory (with suitable naming) can be imported,
                    even if it does not contain any `.py` files.
                    On the other hand, currently there is no concept of package data
                    directory, all directories are treated like packages. 
              ********************************************************************************

      !!
        check.warn(importable)
      C:\Users\bingoyes\AppData\Local\Temp\pip-build-env-ibn8tcr3\overlay\Lib\site-packages\setuptools\command\build_py.py:207: _Warning: Package 'insightface.data.objects' is absent from the `packages` configuration.     
      !!

              ********************************************************************************
              ############################
              # Package would be ignored #
              ############################
              Python recognizes 'insightface.data.objects' as an importable package[^1],
              but it is absent from setuptools' `packages` configuration. 

              This leads to an ambiguous overall configuration. If you want to distribute this
              package, please make sure that 'insightface.data.objects' is explicitly added
              to the `packages` configuration field.

              Alternatively, you can also rely on setuptools' discovery methods
              (for example by using `find_namespace_packages(...)`/`find_namespace:`
              instead of `find_packages(...)`/`find:`).

              You can read more about "package discovery" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

              If you don't want 'insightface.data.objects' to be distributed and are
              already explicitly excluding 'insightface.data.objects' via 
              `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
              you can try to use `exclude_package_data`, or `include-package-data=False` in
              combination with a more fine grained `package-data` configuration.

              You can read more about "package data files" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/datafiles.html


              [^1]: For Python, any directory (with suitable naming) can be imported,
                    even if it does not contain any `.py` files.
                    On the other hand, currently there is no concept of package data
                    directory, all directories are treated like packages. 
              ********************************************************************************

pp -> build\lib.win-amd64-cpython-310\insightface\thirdparty\face3d\mesh\cython
      creating build\lib.win-amd64-cpython-310\insightface\data\images
      copying insightface\data\images\Tom_Hanks_54745.png -> build\lib.win-amd64-cpython-310\insightface\data\images
      copying insightface\data\images\mask_black.jpg -> build\lib.win-amd64-cpython-310\insightface\data\images
      copying insightface\data\images\mask_blue.jpg -> build\lib.win-amd64-cpython-310\insightface\data\images
      copying insightface\data\images\mask_green.jpg -> build\lib.win-amd64-cpython-310\insightface\data\images
      copying insightface\data\images\mask_white.jpg -> build\lib.win-amd64-cpython-310\insightface\data\images
      copying insightface\data\images\t1.jpg -> build\lib.win-amd64-cpython-310\insightface\data\images

      creating build\lib.win-amd64-cpython-310\insightface\data\objects
      copying insightface\data\objects\meanshape_68.pkl -> build\lib.win-amd64-cpython-310\insightface\data\objects
      copying insightface\thirdparty\face3d\mesh\cython\mesh_core_cython.c -> build\lib.win-amd64-cpython-310\insightface\thirdparty\face3d\mesh\cython
      copying insightface\thirdparty\face3d\mesh\cython\mesh_core_cython.cpp -> build\lib.win-amd64-cpython-310\insightface\thirdparty\face3d\mesh\cython
      copying insightface\thirdparty\face3d\mesh\cython\mesh_core_cython.pyx -> build\lib.win-amd64-cpython-310\insightface\thirdparty\face3d\mesh\cython
      copying insightface\thirdparty\face3d\mesh\cython\setup.py -> build\lib.win-amd64-cpython-310\insightface\thirdparty\face3d\mesh\cython
      running build_ext
      building 'insightface.thirdparty.face3d.mesh.cython.mesh_core_cython' extension
      error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for insightface
Failed to build insightface
ERROR: Could not build wheels for insightface, which is required to install pyproject.toml-based projects
@Inferencer
Copy link

You need Microsoft visual studio community installed with the additional windows c++ build tools selected in the app to be installed

@AricGamma
Copy link
Member

Since there has been no further feedback, this issue will be closed. If needed, please reopen it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants