Page MenuHomePhabricator

ERROR: setuptools==41.0.0 is used in combination with setuptools_scm>=6.x
Closed, ResolvedPublic

Description

Noticed today in the ci-fullrun.sh output:

20:31:15 /src/.eggs/setuptools_scm-6.3.2-py3.7.egg/setuptools_scm/integration.py:38: RuntimeWarning: 
20:31:15 ERROR: setuptools==41.0.0 is used in combination with setuptools_scm>=6.x
20:31:15 
20:31:15 Your build configuration is incomplete and previously worked by accident!
20:31:15 
20:31:15 
20:31:15 This happens as setuptools is unable to replace itself when a activated build dependency
20:31:15 requires a more recent setuptools version
20:31:15 (it does not respect "setuptools>X" in setup_requires).
20:31:15 
20:31:15 
20:31:15 setuptools>=31 is required for setup.cfg metadata support
20:31:15 setuptools>=42 is required for pyproject.toml configuration support
20:31:15 
20:31:15 Suggested workarounds if applicable:
20:31:15  - preinstalling build dependencies like setuptools_scm before running setup.py
20:31:15  - installing setuptools_scm using the system package manager to ensure consistency
20:31:15  - migrating from the deprecated setup_requires mechanism to pep517/518
20:31:15    and using a pyproject.toml to declare build dependencies
20:31:15    which are reliably pre-installed before running the build tools
20:31:15 
20:31:15   """
20:31:15 /src/.eggs/setuptools_scm-6.3.2-py3.7.egg/setuptools_scm/git.py:94: UserWarning: "/src" is shallow and may cause errors
20:31:15   warnings.warn(f'"{wd.path}" is shallow and may cause errors')
20:31:15 zip_safe flag not set; analyzing archive contents...
20:31:15 tests.__pycache__.test_backend.cpython-37: module references __file__
20:31:15 tests.__pycache__.test_mediawiki_registry.cpython-37: module references __file__
20:31:15 tests.__pycache__.test_plans.cpython-37: module references __file__
20:31:15 creating dist
20:31:15 creating 'dist/quibble-0.1.dev2+ge7e9e17-py3.7.egg' and adding 'build/bdist.linux-x86_64/egg' to it
20:31:15 removing 'build/bdist.linux-x86_64/egg' (and everything under it)
20:31:15 Creating /tmp/quibble/lib/python3.7/site-packages/site.py
20:31:15 Processing quibble-0.1.dev2+ge7e9e17-py3.7.egg
20:31:15 creating /tmp/quibble/lib/python3.7/site-packages/quibble-0.1.dev2+ge7e9e17-py3.7.egg
20:31:15 Extracting quibble-0.1.dev2+ge7e9e17-py3.7.egg to /tmp/quibble/lib/python3.7/site-packages
20:31:15 Adding quibble 0.1.dev2+ge7e9e17 to easy-install.pth file
20:31:15 Installing quibble script to /tmp/quibble/bin

Event Timeline

Can be reproduced using tox -e check and I get setuptools==44.1.1.

The code has:

def _warn_on_old_setuptools(_version=setuptools.__version__):
    if int(_version.split(".")[0]) < 45:
        warnings.warn(
            RuntimeWarning(

So in short they expect a newer setuptools since some features from setuptools_scm are broken under older setuptools versions. The sole purpose is to have the install to craft a version number from git information. https://pypi.org/project/setuptools-git-versioning/ might be a simpler alternative.

Change 730646 had a related patch set uploaded (by Hashar; author: Hashar):

[integration/quibble@master] Replace setuptools_scm with setuptools-git-versioning

https://gerrit.wikimedia.org/r/730646

Change 730646 merged by jenkins-bot:

[integration/quibble@master] Replace setuptools_scm with setuptools-git-versioning

https://gerrit.wikimedia.org/r/730646

Should be solved now.

Change 734211 had a related patch set uploaded (by Hashar; author: Hashar):

[integration/quibble@master] Release Quibble 1.2.0

https://gerrit.wikimedia.org/r/734211

Change 734211 merged by jenkins-bot:

[integration/quibble@master] Release Quibble 1.2.0

https://gerrit.wikimedia.org/r/734211

Change 736240 had a related patch set uploaded (by Hashar; author: Hashar):

[integration/config@master] jjb: switch jobs to Quibble 1.2.0

https://gerrit.wikimedia.org/r/736240

Change 736240 merged by jenkins-bot:

[integration/config@master] jjb: switch jobs to Quibble 1.2.0

https://gerrit.wikimedia.org/r/736240