Gourieff / comfyui-reactor-node

Fast and Simple Face Swap Extension Node for ComfyUI
GNU General Public License v3.0
1.58k stars 155 forks source link

Insightface ıssue #3

Closed cerarslan closed 1 year ago

cerarslan commented 1 year ago

When I tried swarm/comfyUI I get this error:

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 ╰─> [232 lines of output] WARNING: pandoc not enabled running bdist_wheel running build running build_py creating build creating build\lib.win-amd64-cpython-311 creating build\lib.win-amd64-cpython-311\insightface copying insightface__init.py -> build\lib.win-amd64-cpython-311\insightface creating build\lib.win-amd64-cpython-311\insightface\app copying insightface\app\common.py -> build\lib.win-amd64-cpython-311\insightface\app copying insightface\app\face_analysis.py -> build\lib.win-amd64-cpython-311\insightface\app copying insightface\app\mask_renderer.py -> build\lib.win-amd64-cpython-311\insightface\app copying insightface\app__init.py -> build\lib.win-amd64-cpython-311\insightface\app creating build\lib.win-amd64-cpython-311\insightface\commands copying insightface\commands\insightface_cli.py -> build\lib.win-amd64-cpython-311\insightface\commands copying insightface\commands\model_download.py -> build\lib.win-amd64-cpython-311\insightface\commands copying insightface\commands\rec_add_mask_param.py -> build\lib.win-amd64-cpython-311\insightface\commands copying insightface\commands__init.py -> build\lib.win-amd64-cpython-311\insightface\commands creating build\lib.win-amd64-cpython-311\insightface\data copying insightface\data\image.py -> build\lib.win-amd64-cpython-311\insightface\data copying insightface\data\pickle_object.py -> build\lib.win-amd64-cpython-311\insightface\data copying insightface\data\rec_builder.py -> build\lib.win-amd64-cpython-311\insightface\data copying insightface\data__init__.py -> build\lib.win-amd64-cpython-311\insightface\data creating build\lib.win-amd64-cpython-311\insightface\model_zoo copying insightface\model_zoo\arcface_onnx.py -> build\lib.win-amd64-cpython-311\insightface\model_zoo copying insightface\model_zoo\attribute.py -> build\lib.win-amd64-cpython-311\insightface\model_zoo copying insightface\model_zoo\inswapper.py -> build\lib.win-amd64-cpython-311\insightface\model_zoo copying insightface\model_zoo\landmark.py -> build\lib.win-amd64-cpython-311\insightface\model_zoo copying insightface\model_zoo\model_store.py -> build\lib.win-amd64-cpython-311\insightface\model_zoo copying insightface\model_zoo\model_zoo.py -> build\lib.win-amd64-cpython-311\insightface\model_zoo copying insightface\model_zoo\retinaface.py -> build\lib.win-amd64-cpython-311\insightface\model_zoo copying insightface\model_zoo\scrfd.py -> build\lib.win-amd64-cpython-311\insightface\model_zoo copying insightface\model_zoo\init__.py -> build\lib.win-amd64-cpython-311\insightface\model_zoo creating build\lib.win-amd64-cpython-311\insightface\thirdparty copying insightface\thirdparty\init__.py -> build\lib.win-amd64-cpython-311\insightface\thirdparty creating build\lib.win-amd64-cpython-311\insightface\utils copying insightface\utils\constant.py -> build\lib.win-amd64-cpython-311\insightface\utils copying insightface\utils\download.py -> build\lib.win-amd64-cpython-311\insightface\utils copying insightface\utils\face_align.py -> build\lib.win-amd64-cpython-311\insightface\utils copying insightface\utils\filesystem.py -> build\lib.win-amd64-cpython-311\insightface\utils copying insightface\utils\storage.py -> build\lib.win-amd64-cpython-311\insightface\utils copying insightface\utils\transform.py -> build\lib.win-amd64-cpython-311\insightface\utils copying insightface\utils\init.py -> build\lib.win-amd64-cpython-311\insightface\utils creating build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d copying insightface\thirdparty\face3d\init.py -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d creating build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh copying insightface\thirdparty\face3d\mesh\io.py -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh copying insightface\thirdparty\face3d\mesh\light.py -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh copying insightface\thirdparty\face3d\mesh\render.py -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh copying insightface\thirdparty\face3d\mesh\transform.py -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh copying insightface\thirdparty\face3d\mesh\vis.py -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh copying insightface\thirdparty\face3d\mesh\init.py -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh creating build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh_numpy copying insightface\thirdparty\face3d\mesh_numpy\io.py -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh_numpy copying insightface\thirdparty\face3d\mesh_numpy\light.py -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh_numpy copying insightface\thirdparty\face3d\mesh_numpy\render.py -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh_numpy copying insightface\thirdparty\face3d\mesh_numpy\transform.py -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh_numpy copying insightface\thirdparty\face3d\mesh_numpy\vis.py -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh_numpy copying insightface\thirdparty\face3d\mesh_numpy\init.py -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh_numpy creating build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\morphable_model copying insightface\thirdparty\face3d\morphable_model\fit.py -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\morphable_model copying insightface\thirdparty\face3d\morphable_model\load.py -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\morphable_model copying insightface\thirdparty\face3d\morphable_model\morphabel_model.py -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\morphable_model copying insightface\thirdparty\face3d\morphable_model\init__.py -> build\lib.win-amd64-cpython-311\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:\Swarm2\StableSwarmUI\dlbackend\comfy\python_embeded\Lib\site-packages\setuptools\command\build_py.py:201: _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:\Swarm2\StableSwarmUI\dlbackend\comfy\python_embeded\Lib\site-packages\setuptools\command\build_py.py:201: _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:\Swarm2\StableSwarmUI\dlbackend\comfy\python_embeded\Lib\site-packages\setuptools\command\build_py.py:201: _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.
          ********************************************************************************

  !!
    check.warn(importable)
  creating build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh\cython
  copying insightface\thirdparty\face3d\mesh\cython\mesh_core.cpp -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh\cython
  copying insightface\thirdparty\face3d\mesh\cython\mesh_core_cython.cpp -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh\cython
  creating build\lib.win-amd64-cpython-311\insightface\data\images
  copying insightface\data\images\Tom_Hanks_54745.png -> build\lib.win-amd64-cpython-311\insightface\data\images
  copying insightface\data\images\mask_black.jpg -> build\lib.win-amd64-cpython-311\insightface\data\images
  copying insightface\data\images\mask_blue.jpg -> build\lib.win-amd64-cpython-311\insightface\data\images
  copying insightface\data\images\mask_green.jpg -> build\lib.win-amd64-cpython-311\insightface\data\images
  copying insightface\data\images\mask_white.jpg -> build\lib.win-amd64-cpython-311\insightface\data\images
  copying insightface\data\images\t1.jpg -> build\lib.win-amd64-cpython-311\insightface\data\images
  creating build\lib.win-amd64-cpython-311\insightface\data\objects
  copying insightface\data\objects\meanshape_68.pkl -> build\lib.win-amd64-cpython-311\insightface\data\objects
  copying insightface\thirdparty\face3d\mesh\cython\mesh_core.h -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh\cython
  copying insightface\thirdparty\face3d\mesh\cython\mesh_core_cython.c -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh\cython
  copying insightface\thirdparty\face3d\mesh\cython\mesh_core_cython.pyx -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh\cython
  copying insightface\thirdparty\face3d\mesh\cython\setup.py -> build\lib.win-amd64-cpython-311\insightface\thirdparty\face3d\mesh\cython
  running build_ext
  building 'insightface.thirdparty.face3d.mesh.cython.mesh_core_cython' extension
  creating build\temp.win-amd64-cpython-311
  creating build\temp.win-amd64-cpython-311\Release
  creating build\temp.win-amd64-cpython-311\Release\insightface
  creating build\temp.win-amd64-cpython-311\Release\insightface\thirdparty
  creating build\temp.win-amd64-cpython-311\Release\insightface\thirdparty\face3d
  creating build\temp.win-amd64-cpython-311\Release\insightface\thirdparty\face3d\mesh
  creating build\temp.win-amd64-cpython-311\Release\insightface\thirdparty\face3d\mesh\cython
  "C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.37.32705\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Iinsightface/thirdparty/face3d/mesh/cython -IC:\Swarm2\StableSwarmUI\dlbackend\comfy\python_embeded\Lib\site-packages\numpy\core\include -IC:\Swarm2\StableSwarmUI\dlbackend\comfy\python_embeded\include -IC:\Swarm2\StableSwarmUI\dlbackend\comfy\python_embeded\Include "-IC:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.37.32705\include" "-IC:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.37.32705\ATLMFC\include" "-IC:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\cppwinrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um" /EHsc /Tpinsightface/thirdparty/face3d/mesh/cython/mesh_core.cpp /Fobuild\temp.win-amd64-cpython-311\Release\insightface/thirdparty/face3d/mesh/cython/mesh_core.obj
  mesh_core.cpp
  insightface/thirdparty/face3d/mesh/cython/mesh_core.cpp(147): warning C4244: '=': 'int' - 'float' d”n\x81Ÿ\x81m\x81; veri kayb\x8d olabilir
  insightface/thirdparty/face3d/mesh/cython/mesh_core.cpp(147): warning C4244: '=': 'int' - 'float' d”n\x81Ÿ\x81m\x81; veri kayb\x8d olabilir
  insightface/thirdparty/face3d/mesh/cython/mesh_core.cpp(210): warning C4244: '=': 'int' - 'float' d”n\x81Ÿ\x81m\x81; veri kayb\x8d olabilir
  insightface/thirdparty/face3d/mesh/cython/mesh_core.cpp(210): warning C4244: '=': 'int' - 'float' d”n\x81Ÿ\x81m\x81; veri kayb\x8d olabilir
  insightface/thirdparty/face3d/mesh/cython/mesh_core.cpp(294): warning C4244: '=': 'int' - 'float' d”n\x81Ÿ\x81m\x81; veri kayb\x8d olabilir
  insightface/thirdparty/face3d/mesh/cython/mesh_core.cpp(294): warning C4244: '=': 'int' - 'float' d”n\x81Ÿ\x81m\x81; veri kayb\x8d olabilir
  "C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.37.32705\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Iinsightface/thirdparty/face3d/mesh/cython -IC:\Swarm2\StableSwarmUI\dlbackend\comfy\python_embeded\Lib\site-packages\numpy\core\include -IC:\Swarm2\StableSwarmUI\dlbackend\comfy\python_embeded\include -IC:\Swarm2\StableSwarmUI\dlbackend\comfy\python_embeded\Include "-IC:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.37.32705\include" "-IC:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.37.32705\ATLMFC\include" "-IC:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\cppwinrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um" /EHsc /Tpinsightface/thirdparty/face3d/mesh/cython/mesh_core_cython.cpp /Fobuild\temp.win-amd64-cpython-311\Release\insightface/thirdparty/face3d/mesh/cython/mesh_core_cython.obj
  mesh_core_cython.cpp
  insightface/thirdparty/face3d/mesh/cython/mesh_core_cython.cpp(36): fatal error C1083: i‡erme dosyas\x8d a‡\x8dlam\x8dyor: 'Python.h': No such file or directory
  error: command 'C:\\Program Files\\Microsoft Visual Studio\\2022\\Preview\\VC\\Tools\\MSVC\\14.37.32705\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2
  [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

Gourieff commented 1 year ago

Please read https://github.com/Gourieff/comfyui-reactor-node#troubleshooting

cerarslan commented 1 year ago

Please read https://github.com/Gourieff/comfyui-reactor-node#troubleshooting

Sir, I already did this but not working I see insightface package on this directory C:\Swarm2\StableSwarmUI\dlbackend\comfy\python_embeded\Lib\site-packages

Gourieff commented 1 year ago

Try to delete it from "site-packages" and install again with already built package from ComfyUI root folder: python_embeded\python.exe -m pip install insightface-0.7.3-cp310-cp310-win_amd64.whl

cerarslan commented 1 year ago

python.exe -m pip install insightface-0.7.3-cp310-cp310-win_amd64.whl

Not working unfortunately ' ERROR: insightface-0.7.3-cp310-cp310-win_amd64.whl is not a supported wheel on this platform. '

cerarslan commented 1 year ago

The portable version uses python 3.11 maybe that cause the problem. Version 3.10 is solving the issue rn. But I m not sure how can I downgrade the portable version's python.

Gourieff commented 1 year ago

I've never used StableSwarmUI, so very hard to say what the real reason can be in your case... Why do you use it? Why not to use A1111/SD.Next or ComfyUI Portable?

cerarslan commented 1 year ago

I've never used StableSwarmUI, so very hard to say what the real reason can be in your case... Why do you use it? Why not to use A1111/SD.Next or ComfyUI Portable?

Thank you for answering. Actually, I just experiment some stuff

Gourieff commented 1 year ago

Ok, I think StableSwarmUI has some compatibility nuances with third-party extensions 🤷‍♂️

Gourieff commented 1 year ago

The portable version uses python 3.11 maybe that cause the problem. Version 3.10 is solving the issue rn. But I m not sure how can I downgrade the portable version's python.

Theoretically if StableSwarmUI uses an app structure with virtualenv (like A1111 does or SD.Next) - you can create venv with python 3.10, install all dependencies for StableSwarmUI and try to load it

cerarslan commented 1 year ago

Thank you for your reply and for being so interested.