Closed PixelRave closed 9 months ago
+1 I'm getting the exact same error.
You guys need C++ Build tools to build Insightface library, that's strange that you don't have C++BT in Linux, try to google
Ok found the fix for the insight not installing, The command needed is the c++ build tool which is Clang on Fedora...
Heres the command...
sudo dnf install clang
Ok found the fix for the insight not installing, The command needed is the c++ build tool which is Clang on Fedora...
Heres the command...
sudo dnf install clang
this is not solving in my case:
xxx@localhost-live:~$ make --version
GNU Make 4.4.1
Built for x86_64-redhat-linux-gnu
Copyright (C) 1988-2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
xxx@localhost-live:~$ gcc --version
gcc (GCC) 13.2.1 20231205 (Red Hat 13.2.1-6)
Copyright © 2023 Free Software Foundation, Inc.
Bu bir serbest yazılımdır; kopyalama koşulları için kaynak koduna bakınız.
Hiçbir garantisi yoktur; hatta SATILABiLiRLiĞi veya ŞAHSi KULLANIMINIZA
UYGUNLUĞU için bile garanti verilmez.
xxx@localhost-live:~$ g++ --version
g++ (GCC) 13.2.1 20231205 (Red Hat 13.2.1-6)
Copyright © 2023 Free Software Foundation, Inc.
Bu bir serbest yazılımdır; kopyalama koşulları için kaynak koduna bakınız.
Hiçbir garantisi yoktur; hatta SATILABiLiRLiĞi veya ŞAHSi KULLANIMINIZA
UYGUNLUĞU için bile garanti verilmez.
× Building wheel for insightface (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [226 lines of output]
WARNING: pandoc not enabled
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-cpython-310
creating build/lib.linux-x86_64-cpython-310/insightface
copying insightface/__init__.py -> build/lib.linux-x86_64-cpython-310/insightface
creating build/lib.linux-x86_64-cpython-310/insightface/app
copying insightface/app/__init__.py -> build/lib.linux-x86_64-cpython-310/insightface/app
copying insightface/app/common.py -> build/lib.linux-x86_64-cpython-310/insightface/app
copying insightface/app/face_analysis.py -> build/lib.linux-x86_64-cpython-310/insightface/app
copying insightface/app/mask_renderer.py -> build/lib.linux-x86_64-cpython-310/insightface/app
creating build/lib.linux-x86_64-cpython-310/insightface/commands
copying insightface/commands/__init__.py -> build/lib.linux-x86_64-cpython-310/insightface/commands
copying insightface/commands/insightface_cli.py -> build/lib.linux-x86_64-cpython-310/insightface/commands
copying insightface/commands/model_download.py -> build/lib.linux-x86_64-cpython-310/insightface/commands
copying insightface/commands/rec_add_mask_param.py -> build/lib.linux-x86_64-cpython-310/insightface/commands
creating build/lib.linux-x86_64-cpython-310/insightface/data
copying insightface/data/__init__.py -> build/lib.linux-x86_64-cpython-310/insightface/data
copying insightface/data/image.py -> build/lib.linux-x86_64-cpython-310/insightface/data
copying insightface/data/pickle_object.py -> build/lib.linux-x86_64-cpython-310/insightface/data
copying insightface/data/rec_builder.py -> build/lib.linux-x86_64-cpython-310/insightface/data
creating build/lib.linux-x86_64-cpython-310/insightface/model_zoo
copying insightface/model_zoo/__init__.py -> build/lib.linux-x86_64-cpython-310/insightface/model_zoo
copying insightface/model_zoo/arcface_onnx.py -> build/lib.linux-x86_64-cpython-310/insightface/model_zoo
copying insightface/model_zoo/attribute.py -> build/lib.linux-x86_64-cpython-310/insightface/model_zoo
copying insightface/model_zoo/inswapper.py -> build/lib.linux-x86_64-cpython-310/insightface/model_zoo
copying insightface/model_zoo/landmark.py -> build/lib.linux-x86_64-cpython-310/insightface/model_zoo
copying insightface/model_zoo/model_store.py -> build/lib.linux-x86_64-cpython-310/insightface/model_zoo
copying insightface/model_zoo/model_zoo.py -> build/lib.linux-x86_64-cpython-310/insightface/model_zoo
copying insightface/model_zoo/retinaface.py -> build/lib.linux-x86_64-cpython-310/insightface/model_zoo
copying insightface/model_zoo/scrfd.py -> build/lib.linux-x86_64-cpython-310/insightface/model_zoo
creating build/lib.linux-x86_64-cpython-310/insightface/thirdparty
copying insightface/thirdparty/__init__.py -> build/lib.linux-x86_64-cpython-310/insightface/thirdparty
creating build/lib.linux-x86_64-cpython-310/insightface/utils
copying insightface/utils/__init__.py -> build/lib.linux-x86_64-cpython-310/insightface/utils
copying insightface/utils/constant.py -> build/lib.linux-x86_64-cpython-310/insightface/utils
copying insightface/utils/download.py -> build/lib.linux-x86_64-cpython-310/insightface/utils
copying insightface/utils/face_align.py -> build/lib.linux-x86_64-cpython-310/insightface/utils
copying insightface/utils/filesystem.py -> build/lib.linux-x86_64-cpython-310/insightface/utils
copying insightface/utils/storage.py -> build/lib.linux-x86_64-cpython-310/insightface/utils
copying insightface/utils/transform.py -> build/lib.linux-x86_64-cpython-310/insightface/utils
creating build/lib.linux-x86_64-cpython-310/insightface/thirdparty/face3d
copying insightface/thirdparty/face3d/__init__.py -> build/lib.linux-x86_64-cpython-310/insightface/thirdparty/face3d
creating build/lib.linux-x86_64-cpython-310/insightface/thirdparty/face3d/mesh
copying insightface/thirdparty/face3d/mesh/__init__.py -> build/lib.linux-x86_64-cpython-310/insightface/thirdparty/face3d/mesh
copying insightface/thirdparty/face3d/mesh/io.py -> build/lib.linux-x86_64-cpython-310/insightface/thirdparty/face3d/mesh
copying insightface/thirdparty/face3d/mesh/light.py -> build/lib.linux-x86_64-cpython-310/insightface/thirdparty/face3d/mesh
copying insightface/thirdparty/face3d/mesh/render.py -> build/lib.linux-x86_64-cpython-310/insightface/thirdparty/face3d/mesh
copying insightface/thirdparty/face3d/mesh/transform.py -> build/lib.linux-x86_64-cpython-310/insightface/thirdparty/face3d/mesh
copying insightface/thirdparty/face3d/mesh/vis.py -> build/lib.linux-x86_64-cpython-310/insightface/thirdparty/face3d/mesh
creating build/lib.linux-x86_64-cpython-310/insightface/thirdparty/face3d/mesh_numpy
copying insightface/thirdparty/face3d/mesh_numpy/__init__.py -> build/lib.linux-x86_64-cpython-310/insightface/thirdparty/face3d/mesh_numpy
copying insightface/thirdparty/face3d/mesh_numpy/io.py -> build/lib.linux-x86_64-cpython-310/insightface/thirdparty/face3d/mesh_numpy
copying insightface/thirdparty/face3d/mesh_numpy/light.py -> build/lib.linux-x86_64-cpython-310/insightface/thirdparty/face3d/mesh_numpy
copying insightface/thirdparty/face3d/mesh_numpy/render.py -> build/lib.linux-x86_64-cpython-310/insightface/thirdparty/face3d/mesh_numpy
copying insightface/thirdparty/face3d/mesh_numpy/transform.py -> build/lib.linux-x86_64-cpython-310/insightface/thirdparty/face3d/mesh_numpy
copying insightface/thirdparty/face3d/mesh_numpy/vis.py -> build/lib.linux-x86_64-cpython-310/insightface/thirdparty/face3d/mesh_numpy
creating build/lib.linux-x86_64-cpython-310/insightface/thirdparty/face3d/morphable_model
copying insightface/thirdparty/face3d/morphable_model/__init__.py -> build/lib.linux-x86_64-cpython-310/insightface/thirdparty/face3d/morphable_model
copying insightface/thirdparty/face3d/morphable_model/fit.py -> build/lib.linux-x86_64-cpython-310/insightface/thirdparty/face3d/morphable_model
copying insightface/thirdparty/face3d/morphable_model/load.py -> build/lib.linux-x86_64-cpython-310/insightface/thirdparty/face3d/morphable_model
copying insightface/thirdparty/face3d/morphable_model/morphabel_model.py -> build/lib.linux-x86_64-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'
/tmp/pip-build-env-amktqzgm/overlay/lib/python3.10/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)
/tmp/pip-build-env-amktqzgm/overlay/lib/python3.10/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.
********************************************************************************
!!
check.warn(importable)
/tmp/pip-build-env-amktqzgm/overlay/lib/python3.10/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)
creating build/lib.linux-x86_64-cpython-310/insightface/data/images
copying insightface/data/images/Tom_Hanks_54745.png -> build/lib.linux-x86_64-cpython-310/insightface/data/images
copying insightface/data/images/mask_black.jpg -> build/lib.linux-x86_64-cpython-310/insightface/data/images
copying insightface/data/images/mask_blue.jpg -> build/lib.linux-x86_64-cpython-310/insightface/data/images
copying insightface/data/images/mask_green.jpg -> build/lib.linux-x86_64-cpython-310/insightface/data/images
copying insightface/data/images/mask_white.jpg -> build/lib.linux-x86_64-cpython-310/insightface/data/images
copying insightface/data/images/t1.jpg -> build/lib.linux-x86_64-cpython-310/insightface/data/images
creating build/lib.linux-x86_64-cpython-310/insightface/data/objects
copying insightface/data/objects/meanshape_68.pkl -> build/lib.linux-x86_64-cpython-310/insightface/data/objects
creating build/lib.linux-x86_64-cpython-310/insightface/thirdparty/face3d/mesh/cython
copying insightface/thirdparty/face3d/mesh/cython/mesh_core.cpp -> build/lib.linux-x86_64-cpython-310/insightface/thirdparty/face3d/mesh/cython
copying insightface/thirdparty/face3d/mesh/cython/mesh_core.h -> build/lib.linux-x86_64-cpython-310/insightface/thirdparty/face3d/mesh/cython
copying insightface/thirdparty/face3d/mesh/cython/mesh_core_cython.c -> build/lib.linux-x86_64-cpython-310/insightface/thirdparty/face3d/mesh/cython
copying insightface/thirdparty/face3d/mesh/cython/mesh_core_cython.cpp -> build/lib.linux-x86_64-cpython-310/insightface/thirdparty/face3d/mesh/cython
copying insightface/thirdparty/face3d/mesh/cython/mesh_core_cython.pyx -> build/lib.linux-x86_64-cpython-310/insightface/thirdparty/face3d/mesh/cython
copying insightface/thirdparty/face3d/mesh/cython/setup.py -> build/lib.linux-x86_64-cpython-310/insightface/thirdparty/face3d/mesh/cython
running build_ext
building 'insightface.thirdparty.face3d.mesh.cython.mesh_core_cython' extension
creating build/temp.linux-x86_64-cpython-310
creating build/temp.linux-x86_64-cpython-310/insightface
creating build/temp.linux-x86_64-cpython-310/insightface/thirdparty
creating build/temp.linux-x86_64-cpython-310/insightface/thirdparty/face3d
creating build/temp.linux-x86_64-cpython-310/insightface/thirdparty/face3d/mesh
creating build/temp.linux-x86_64-cpython-310/insightface/thirdparty/face3d/mesh/cython
gcc -Wno-unused-result -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -fcf-protection -fexceptions -fcf-protection -fexceptions -fcf-protection -fexceptions -fPIC -Iinsightface/thirdparty/face3d/mesh/cython -I/tmp/pip-build-env-amktqzgm/overlay/lib64/python3.10/site-packages/numpy/core/include -I/usr/include/python3.10 -c insightface/thirdparty/face3d/mesh/cython/mesh_core.cpp -o build/temp.linux-x86_64-cpython-310/insightface/thirdparty/face3d/mesh/cython/mesh_core.o
gcc -Wno-unused-result -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -fcf-protection -fexceptions -fcf-protection -fexceptions -fcf-protection -fexceptions -fPIC -Iinsightface/thirdparty/face3d/mesh/cython -I/tmp/pip-build-env-amktqzgm/overlay/lib64/python3.10/site-packages/numpy/core/include -I/usr/include/python3.10 -c insightface/thirdparty/face3d/mesh/cython/mesh_core_cython.cpp -o build/temp.linux-x86_64-cpython-310/insightface/thirdparty/face3d/mesh/cython/mesh_core_cython.o
insightface/thirdparty/face3d/mesh/cython/mesh_core_cython.cpp:36:10: ölümcül hata: Python.h: Böyle bir dosya ya da dizin yok
36 | #include "Python.h"
| ^~~~~~~~~~
derleme sonlandırıldı.
error: command '/usr/bin/gcc' failed with exit code 1
[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
@azamet90 Are you running this in a virtual environment under python 3.11
@azamet90 Are you running this in a virtual environment under python 3.11
yes, python3.10
what was the solution finally? I have the same issue. No Python.h in venv.
if anyone is still having the issue
apt install build-essential
did it for me.
if anyone is still having the issue
apt install build-essential
did it for me.
Hmm, well I am on fedora so I have no idea what the equivalent to that would be
edit: here is the equivalent for Fedora that worked for me
sudo dnf group install "C Development Tools and Libraries" "Development Tools"
Exact same issue. build-essentials already installed. So annoying that all the trouble shooting tips are for windows. What about the rest of us?
if anyone is still having the issue
apt install build-essential
did it for me.Hmm, well I am on fedora so I have no idea what the equivalent to that would be
edit: here is the equivalent for Fedora that worked for me
sudo dnf group install "C Development Tools and Libraries" "Development Tools"
try apt install python3-dev
if anyone is still having the issue
apt install build-essential
did it for me.Hmm, well I am on fedora so I have no idea what the equivalent to that would be edit: here is the equivalent for Fedora that worked for me
sudo dnf group install "C Development Tools and Libraries" "Development Tools"
try apt install python3-dev
Fedora does not use apt, apt is Debian. Besides I already listed my fix in the edit
First, confirm
What happened?
As the title says it fails to install for ComfyUI. insightface will not install. And there are no clear instructions on how to install this on linux.
Steps to reproduce the problem
Command line... ComfyUI/custom_nodes/comfyui-reactor-node$ python install.py
Then the "building wheel for insightface" error pops up.
Sysinfo
Fedora Linux, 1080ti
Relevant console log
Additional information
No response