Open
Description
OS: Fedora 42 Workstation
Python version: Python 3.13.3
Error: src/ext/_ppmdmodule.c:9:10: fatal error: Python.h: No such file or directory
Related: #640
Log
$ pip install py7zr
Defaulting to user installation because normal site-packages is not writeable
Collecting py7zr
Using cached py7zr-0.22.0-py3-none-any.whl.metadata (16 kB)
Collecting texttable (from py7zr)
Using cached texttable-1.7.0-py2.py3-none-any.whl.metadata (9.8 kB)
Collecting pycryptodomex>=3.16.0 (from py7zr)
Using cached pycryptodomex-3.22.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.4 kB)
Collecting pyzstd>=0.15.9 (from py7zr)
Using cached pyzstd-0.17.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.5 kB)
Collecting pyppmd<1.2.0,>=1.1.0 (from py7zr)
Using cached pyppmd-1.1.1.tar.gz (1.3 MB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting pybcj<1.1.0,>=1.0.0 (from py7zr)
Using cached pybcj-1.0.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.7 kB)
Collecting multivolumefile>=0.2.3 (from py7zr)
Using cached multivolumefile-0.2.3-py3-none-any.whl.metadata (6.3 kB)
Collecting inflate64<1.1.0,>=1.0.0 (from py7zr)
Using cached inflate64-1.0.1.tar.gz (896 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting brotli>=1.1.0 (from py7zr)
Using cached Brotli-1.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.5 kB)
Requirement already satisfied: psutil in /home/philipp/.local/lib/python3.13/site-packages (from py7zr) (6.1.1)
Using cached py7zr-0.22.0-py3-none-any.whl (67 kB)
Using cached Brotli-1.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.9 MB)
Using cached multivolumefile-0.2.3-py3-none-any.whl (17 kB)
Using cached pybcj-1.0.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (51 kB)
Using cached pycryptodomex-3.22.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB)
Using cached pyzstd-0.17.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (415 kB)
Using cached texttable-1.7.0-py2.py3-none-any.whl (10 kB)
Building wheels for collected packages: inflate64, pyppmd
Building wheel for inflate64 (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for inflate64 (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [75 lines of output]
/tmp/pip-build-env-_e447p6c/overlay/lib/python3.13/site-packages/setuptools_scm/git.py:310: UserWarning: git archive did not support describe output
warnings.warn("git archive did not support describe output")
/tmp/pip-build-env-_e447p6c/overlay/lib/python3.13/site-packages/setuptools_scm/git.py:328: UserWarning: unprocessed git archival found (no export subst applied)
warnings.warn("unprocessed git archival found (no export subst applied)")
/tmp/pip-build-env-_e447p6c/overlay/lib/python3.13/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated
!!
********************************************************************************
Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0).
By 2026-Feb-18, you need to update your project and remove deprecated calls
or your builds will no longer be supported.
See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
********************************************************************************
!!
corresp(dist, value, root_dir)
/tmp/pip-build-env-_e447p6c/overlay/lib/python3.13/site-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated.
!!
********************************************************************************
Please consider removing the following classifiers in favor of a SPDX license expression:
License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)
See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
********************************************************************************
!!
dist._finalize_license_expression()
/tmp/pip-build-env-_e447p6c/overlay/lib/python3.13/site-packages/setuptools/dist.py:761: SetuptoolsDeprecationWarning: License classifiers are deprecated.
!!
********************************************************************************
Please consider removing the following classifiers in favor of a SPDX license expression:
License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)
See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
********************************************************************************
!!
self._finalize_license_expression()
running bdist_wheel
running build
running build_py
creating build/lib.linux-x86_64-cpython-313/inflate64
copying src/inflate64/__init__.py -> build/lib.linux-x86_64-cpython-313/inflate64
running egg_info
writing src/inflate64.egg-info/PKG-INFO
writing dependency_links to src/inflate64.egg-info/dependency_links.txt
writing requirements to src/inflate64.egg-info/requires.txt
writing top-level names to src/inflate64.egg-info/top_level.txt
writing manifest file 'src/inflate64.egg-info/SOURCES.txt'
ERROR setuptools_scm._file_finders.git listing git files failed - pretending there aren't any
reading manifest file 'src/inflate64.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files found matching '.gitignore'
warning: no previously-included files found matching '.woodpecker.yml'
no previously-included directories found matching 'ci'
no previously-included directories found matching 'ISSUE_TEMPLATE'
adding license file 'COPYING'
writing manifest file 'src/inflate64.egg-info/SOURCES.txt'
copying src/inflate64/py.typed -> build/lib.linux-x86_64-cpython-313/inflate64
running build_ext
building 'inflate64._inflate64' extension
creating build/temp.linux-x86_64-cpython-313/src/ext
creating build/temp.linux-x86_64-cpython-313/src/lib
gcc -fno-strict-overflow -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -fexceptions -fcf-protection -fexceptions -fcf-protection -fexceptions -fcf-protection -O3 -fPIC -Isrc/lib -Isrc/ext -I/usr/include/python3.13 -c src/ext/_inflate64module.c -o build/temp.linux-x86_64-cpython-313/src/ext/_inflate64module.o
src/ext/_inflate64module.c:8:10: fatal error: Python.h: No such file or directory
8 | #include "Python.h"
| ^~~~~~~~~~
compilation terminated.
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 inflate64
Building wheel for pyppmd (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for pyppmd (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [123 lines of output]
/tmp/pip-build-env-2r6h_ru8/overlay/lib/python3.13/site-packages/setuptools_scm/git.py:310: UserWarning: git archive did not support describe output
warnings.warn("git archive did not support describe output")
/tmp/pip-build-env-2r6h_ru8/overlay/lib/python3.13/site-packages/setuptools_scm/git.py:328: UserWarning: unprocessed git archival found (no export subst applied)
warnings.warn("unprocessed git archival found (no export subst applied)")
/tmp/pip-build-env-2r6h_ru8/overlay/lib/python3.13/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated
!!
********************************************************************************
Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0).
By 2026-Feb-18, you need to update your project and remove deprecated calls
or your builds will no longer be supported.
See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
********************************************************************************
!!
corresp(dist, value, root_dir)
/tmp/pip-build-env-2r6h_ru8/overlay/lib/python3.13/site-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated.
!!
********************************************************************************
Please consider removing the following classifiers in favor of a SPDX license expression:
License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)
See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
********************************************************************************
!!
dist._finalize_license_expression()
/tmp/pip-build-env-2r6h_ru8/overlay/lib/python3.13/site-packages/setuptools/dist.py:761: SetuptoolsDeprecationWarning: License classifiers are deprecated.
!!
********************************************************************************
Please consider removing the following classifiers in favor of a SPDX license expression:
License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)
See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
********************************************************************************
!!
self._finalize_license_expression()
running bdist_wheel
running build
running build_py
creating build/lib.linux-x86_64-cpython-313/pyppmd
copying src/pyppmd/__init__.py -> build/lib.linux-x86_64-cpython-313/pyppmd
creating build/lib.linux-x86_64-cpython-313/pyppmd/c
copying src/pyppmd/c/c_ppmd.py -> build/lib.linux-x86_64-cpython-313/pyppmd/c
running egg_info
writing src/pyppmd.egg-info/PKG-INFO
writing dependency_links to src/pyppmd.egg-info/dependency_links.txt
writing requirements to src/pyppmd.egg-info/requires.txt
writing top-level names to src/pyppmd.egg-info/top_level.txt
writing manifest file 'src/pyppmd.egg-info/SOURCES.txt'
ERROR setuptools_scm._file_finders.git listing git files failed - pretending there aren't any
reading manifest file 'src/pyppmd.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'tox.ini'
warning: no previously-included files found matching '.gitignore'
warning: no previously-included files found matching '.gitattributes'
warning: no previously-included files found matching '.woodpecker.yml'
no previously-included directories found matching 'ci'
no previously-included directories found matching 'issue_template'
adding license file 'LICENSE'
writing manifest file 'src/pyppmd.egg-info/SOURCES.txt'
/tmp/pip-build-env-2r6h_ru8/overlay/lib/python3.13/site-packages/setuptools/command/build_py.py:212: _Warning: Package 'pyppmd.cffi' is absent from the `packages` configuration.
!!
********************************************************************************
############################
# Package would be ignored #
############################
Python recognizes 'pyppmd.cffi' 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 'pyppmd.cffi' 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 'pyppmd.cffi' to be distributed and are
already explicitly excluding 'pyppmd.cffi' 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)
copying src/pyppmd/py.typed -> build/lib.linux-x86_64-cpython-313/pyppmd
creating build/lib.linux-x86_64-cpython-313/pyppmd/cffi
copying src/pyppmd/cffi/cffi_ppmd.py -> build/lib.linux-x86_64-cpython-313/pyppmd/cffi
running build_ext
building 'pyppmd.c._ppmd' extension
creating build/temp.linux-x86_64-cpython-313/src/ext
creating build/temp.linux-x86_64-cpython-313/src/lib/buffer
creating build/temp.linux-x86_64-cpython-313/src/lib/ppmd
gcc -fno-strict-overflow -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -fexceptions -fcf-protection -fexceptions -fcf-protection -fexceptions -fcf-protection -O3 -fPIC -Isrc/lib/ppmd -Isrc/lib/buffer -I/usr/include/python3.13 -c src/ext/_ppmdmodule.c -o build/temp.linux-x86_64-cpython-313/src/ext/_ppmdmodule.o
src/ext/_ppmdmodule.c:9:10: fatal error: Python.h: No such file or directory
9 | #include "Python.h"
| ^~~~~~~~~~
compilation terminated.
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 pyppmd
Failed to build inflate64 pyppmd
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (inflate64, pyppmd)
Metadata
Metadata
Assignees
Labels
No labels