-
-
Notifications
You must be signed in to change notification settings - Fork 134
Open
Description
How to reproduce the problem
I noticed this problem while running pip-compile to resolve a dependency graph that includes seqeval, shortly after the 21 Feb 2025 release of setuptools-scm 8.2
Attempt to install seqeval==1.2.2 into a Python environment with setuptools<61, such as a fresh Python 3.8 virtual environment (which will have setuptools 56.0).
$ python3 -V
3.8.14
$ python3 -m venv repro_venv
$ ./repro_venv/bin/python3 -m pip show setuptools | grep Version
Version: 56.0.0
$ ./repro_venv/bin/python3 -m pip install --no-cache seqeval==1.2.2
$ ./repro_venv/bin/python3 -m pip install --no-cache seqeval==1.2.2
Collecting seqeval==1.2.2
Downloading seqeval-1.2.2.tar.gz (43 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 43.6/43.6 KB 5.4 MB/s eta 0:00:00
Preparing metadata (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [73 lines of output]
WARNING: The wheel package is not available.
WARNING: The wheel package is not available.
WARNING: The wheel package is not available.
WARNING: The wheel package is not available.
WARNING: The wheel package is not available.
/tmp/pip-install-u8qnlzk2/seqeval_421dc18d836d45ed8b8fc176526d3cf6/.eggs/setuptools_scm-8.2.0-py3.8.egg/setuptools_scm/_integration/setuptools.py:31: RuntimeWarning:
ERROR: setuptools==56.0.0 is used in combination with setuptools-scm>=8.x
Your build configuration is incomplete and previously worked by accident!
setuptools-scm requires setuptools>=61
Suggested workaround if applicable:
- migrating from the deprecated setup_requires mechanism to pep517/518
and using a pyproject.toml to declare build dependencies
which are reliably pre-installed before running the build tools
warnings.warn(
WARNING setuptools_scm.pyproject_reading toml section missing 'pyproject.toml does not contain a tool.setuptools_scm section'
Traceback (most recent call last):
File "/tmp/pip-install-u8qnlzk2/seqeval_421dc18d836d45ed8b8fc176526d3cf6/.eggs/setuptools_scm-8.2.0-py3.8.egg/setuptools_scm/_integration/pyproject_reading.py", line 36, in read_pyproject
section = defn.get("tool", {})[tool_name]
KeyError: 'setuptools_scm'
running egg_info
creating /tmp/pip-pip-egg-info-fx_p_ap7/seqeval.egg-info
writing /tmp/pip-pip-egg-info-fx_p_ap7/seqeval.egg-info/PKG-INFO
writing dependency_links to /tmp/pip-pip-egg-info-fx_p_ap7/seqeval.egg-info/dependency_links.txt
writing requirements to /tmp/pip-pip-egg-info-fx_p_ap7/seqeval.egg-info/requires.txt
writing top-level names to /tmp/pip-pip-egg-info-fx_p_ap7/seqeval.egg-info/top_level.txt
writing manifest file '/tmp/pip-pip-egg-info-fx_p_ap7/seqeval.egg-info/SOURCES.txt'
Traceback (most recent call last):
...Note these lines in particular:
ERROR: setuptools==56.0.0 is used in combination with setuptools-scm>=8.x
Your build configuration is incomplete and previously worked by accident!
setuptools-scm requires setuptools>=61
The most straightforward fix to the issue is to add a pyproject.toml declaring setuptools as the build backend, and build isolation will ensure that the building venv ends up with a newer copy of setuptools.
Your Environment
- Operating System: Ubuntu 22.04
- Python Version: Python 3.8
- Package Version: 1.2.2
Metadata
Metadata
Assignees
Labels
No labels