Skip to content

test_python_integration fails locally with ModuleNotFoundError: No module named 'setuptools' #260

@mxr

Description

@mxr
Repro

$ rm -rf .tox            

$ tox -e py -- '-k test_python_integration'
py: install_deps> python -I -m pip install -r requirements-dev.txt
.pkg: install_requires> python -I -m pip install 'setuptools>=40.8.0'
.pkg: _optional_hooks> python /Users/mxr/tmp/venv3.12/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta legacy
.pkg: get_requires_for_build_sdist> python /Users/mxr/tmp/venv3.12/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta legacy
.pkg: get_requires_for_build_wheel> python /Users/mxr/tmp/venv3.12/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta legacy
.pkg: prepare_metadata_for_build_wheel> python /Users/mxr/tmp/venv3.12/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta legacy
.pkg: build_sdist> python /Users/mxr/tmp/venv3.12/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta legacy
py: install_package_deps> python -I -m pip install packaging
py: install_package> python -I -m pip install --force-reinstall --no-deps /Users/mxr/src/pre-commit/pre-commit-mirror-maker/.tox/.tmp/package/1/pre_commit_mirror_maker-1.12.0.tar.gz
py: commands[0]> coverage erase
py: commands[1]> coverage run -m pytest '-k test_python_integration'
================================================================= test session starts =================================================================
platform darwin -- Python 3.12.12, pytest-9.0.2, pluggy-1.6.0
cachedir: .tox/py/.pytest_cache
rootdir: /Users/mxr/src/pre-commit/pre-commit-mirror-maker
configfile: tox.ini
plugins: env-1.2.0
collected 31 items / 30 deselected / 1 selected

tests/make_repo_test.py F [100%]

====================================================================== FAILURES =======================================================================
_______________________________________________________________ test_python_integration _______________________________________________________________

in_git_dir = local('/private/var/folders/q3/n53tkc3s4fs5czb2768dy9n00000gn/T/pytest-of-mxr/pytest-15/test_python_integration0/gits')

def test_python_integration(in_git_dir):
    make_repo(
        '.',
        language='python', name='flake8', description='', entry='flake8',
        id='flake8', match_key='files', match_val=r'\.py$', args='[]',
        require_serial='false', minimum_pre_commit_version='0',
    )
    # Our files should exist
    assert in_git_dir.join('.version').exists()
    assert in_git_dir.join('.pre-commit-hooks.yaml').exists()
    assert in_git_dir.join('setup.py').exists()

    # Should have made _some_ tags
    assert _cmd('git', 'tag', '-l')
    # Should have made _some_ commits
    assert _cmd('git', 'log', '--oneline')

    # To make sure the name is valid
  subprocess.check_call((sys.executable, 'setup.py', 'egg_info'))

/Users/mxr/src/pre-commit/pre-commit-mirror-maker/tests/make_repo_test.py:214:


popenargs = (('/Users/mxr/src/pre-commit/pre-commit-mirror-maker/.tox/py/bin/python', 'setup.py', 'egg_info'),), kwargs = {}, retcode = 1
cmd = ('/Users/mxr/src/pre-commit/pre-commit-mirror-maker/.tox/py/bin/python', 'setup.py', 'egg_info')

def check_call(*popenargs, **kwargs):
    """Run command with arguments.  Wait for command to complete.  If
    the exit code was zero then return, otherwise raise
    CalledProcessError.  The CalledProcessError object will have the
    return code in the returncode attribute.

    The arguments are the same as for the call function.  Example:

    check_call(["ls", "-l"])
    """
    retcode = call(*popenargs, **kwargs)
    if retcode:
        cmd = kwargs.get("args")
        if cmd is None:
            cmd = popenargs[0]
      raise CalledProcessError(retcode, cmd)

E subprocess.CalledProcessError: Command '('/Users/mxr/src/pre-commit/pre-commit-mirror-maker/.tox/py/bin/python', 'setup.py', 'egg_info')' returned non-zero exit status 1.

/opt/homebrew/Cellar/python@3.12/3.12.12/Frameworks/Python.framework/Versions/3.12/lib/python3.12/subprocess.py:413: CalledProcessError
---------------------------------------------------------------- Captured stdout setup ----------------------------------------------------------------
Initialized empty Git repository in /private/var/folders/q3/n53tkc3s4fs5czb2768dy9n00000gn/T/pytest-of-mxr/pytest-15/test_python_integration0/gits/.git/
---------------------------------------------------------------- Captured stdout call -----------------------------------------------------------------
[main (root-commit) 72afd07] Mirror: 0.1
4 files changed, 40 insertions(+)
create mode 100644 .pre-commit-hooks.yaml
create mode 100644 .version
create mode 100644 LICENSE
create mode 100644 setup.py
[main 958f0a8] Mirror: 0.2
2 files changed, 2 insertions(+), 2 deletions(-)
[main d16a4aa] Mirror: 0.3
2 files changed, 2 insertions(+), 2 deletions(-)
[main 5dd9b9a] Mirror: 0.4
2 files changed, 2 insertions(+), 2 deletions(-)
[main f786224] Mirror: 0.5
2 files changed, 2 insertions(+), 2 deletions(-)
[main 2572bf7] Mirror: 0.6
2 files changed, 2 insertions(+), 2 deletions(-)
[main 3e58d5e] Mirror: 0.7
2 files changed, 2 insertions(+), 2 deletions(-)
[main ff6b98d] Mirror: 0.8
2 files changed, 2 insertions(+), 2 deletions(-)
[main 0fd33d3] Mirror: 0.9
2 files changed, 2 insertions(+), 2 deletions(-)
[main bd67a6c] Mirror: 1.0
2 files changed, 2 insertions(+), 2 deletions(-)
[main 7d5ae06] Mirror: 1.1
2 files changed, 2 insertions(+), 2 deletions(-)
[main c1fb51f] Mirror: 1.2
2 files changed, 2 insertions(+), 2 deletions(-)
[main 6417e53] Mirror: 1.3
2 files changed, 2 insertions(+), 2 deletions(-)
[main 1e3db93] Mirror: 1.3.1
2 files changed, 2 insertions(+), 2 deletions(-)
[main 1e74652] Mirror: 1.4
2 files changed, 2 insertions(+), 2 deletions(-)
[main 108a8bf] Mirror: 1.5
2 files changed, 2 insertions(+), 2 deletions(-)
[main 80a8d15] Mirror: 1.6
2 files changed, 2 insertions(+), 2 deletions(-)
[main 1e13319] Mirror: 1.6.1
2 files changed, 2 insertions(+), 2 deletions(-)
[main 70b6dee] Mirror: 1.6.2
2 files changed, 2 insertions(+), 2 deletions(-)
[main 14caa8c] Mirror: 1.7.0
2 files changed, 2 insertions(+), 2 deletions(-)
[main f7914c0] Mirror: 2.0
2 files changed, 2 insertions(+), 2 deletions(-)
[main 63eb7fa] Mirror: 2.1.0
2 files changed, 2 insertions(+), 2 deletions(-)
[main c51cfbc] Mirror: 2.2.0
2 files changed, 2 insertions(+), 2 deletions(-)
[main 2e473af] Mirror: 2.2.1
2 files changed, 2 insertions(+), 2 deletions(-)
[main 0ef1ed2] Mirror: 2.2.2
2 files changed, 2 insertions(+), 2 deletions(-)
[main a187638] Mirror: 2.2.3
2 files changed, 2 insertions(+), 2 deletions(-)
[main ba9ac25] Mirror: 2.2.4
2 files changed, 2 insertions(+), 2 deletions(-)
[main 0dfe609] Mirror: 2.2.5
2 files changed, 2 insertions(+), 2 deletions(-)
[main 4719448] Mirror: 2.3.0
2 files changed, 2 insertions(+), 2 deletions(-)
[main 6bb84cc] Mirror: 2.4.0
2 files changed, 2 insertions(+), 2 deletions(-)
[main b097c7f] Mirror: 2.4.1
2 files changed, 2 insertions(+), 2 deletions(-)
[main e73486d] Mirror: 2.5.0
2 files changed, 2 insertions(+), 2 deletions(-)
[main 9fc2876] Mirror: 2.5.1
2 files changed, 2 insertions(+), 2 deletions(-)
[main f7a7d47] Mirror: 2.5.2
2 files changed, 2 insertions(+), 2 deletions(-)
[main 4c9e173] Mirror: 2.5.3
2 files changed, 2 insertions(+), 2 deletions(-)
[main d52d361] Mirror: 2.5.4
2 files changed, 2 insertions(+), 2 deletions(-)
[main 3d40a54] Mirror: 2.5.5
2 files changed, 2 insertions(+), 2 deletions(-)
[main 1557212] Mirror: 2.6.0
2 files changed, 2 insertions(+), 2 deletions(-)
[main 90be4f7] Mirror: 2.6.1
2 files changed, 2 insertions(+), 2 deletions(-)
[main fa9e200] Mirror: 2.6.2
2 files changed, 2 insertions(+), 2 deletions(-)
[main fd6713d] Mirror: 3.0.0b1
2 files changed, 2 insertions(+), 2 deletions(-)
[main dd724a3] Mirror: 3.0.0b2
2 files changed, 2 insertions(+), 2 deletions(-)
[main bb6a6ea] Mirror: 3.0.0
2 files changed, 2 insertions(+), 2 deletions(-)
[main dab63d4] Mirror: 3.0.1
2 files changed, 2 insertions(+), 2 deletions(-)
[main 2350c7d] Mirror: 3.0.2.dev0
2 files changed, 2 insertions(+), 2 deletions(-)
[main e9b4443] Mirror: 3.0.2.dev1
2 files changed, 2 insertions(+), 2 deletions(-)
[main b65a70c] Mirror: 3.0.2
2 files changed, 2 insertions(+), 2 deletions(-)
[main bae4900] Mirror: 3.0.3
2 files changed, 2 insertions(+), 2 deletions(-)
[main fca826a] Mirror: 3.0.4
2 files changed, 2 insertions(+), 2 deletions(-)
[main 82ab4ad] Mirror: 3.1.0
2 files changed, 2 insertions(+), 2 deletions(-)
[main a5c1e9c] Mirror: 3.1.1
2 files changed, 2 insertions(+), 2 deletions(-)
[main a68fcbb] Mirror: 3.2.0
2 files changed, 2 insertions(+), 2 deletions(-)
[main 85d5c58] Mirror: 3.2.1
2 files changed, 2 insertions(+), 2 deletions(-)
[main 9ae6be5] Mirror: 3.3.0.dev0
2 files changed, 2 insertions(+), 2 deletions(-)
[main 15fad7e] Mirror: 3.3.0
2 files changed, 2 insertions(+), 2 deletions(-)
[main 2149cc7] Mirror: 3.4.0
2 files changed, 2 insertions(+), 2 deletions(-)
[main 8a06aa1] Mirror: 3.4.1
2 files changed, 2 insertions(+), 2 deletions(-)
[main a0f31e0] Mirror: 3.5.0
2 files changed, 2 insertions(+), 2 deletions(-)
[main f41b3a6] Mirror: 3.6.0
2 files changed, 2 insertions(+), 2 deletions(-)
[main 005a721] Mirror: 3.7.0
2 files changed, 2 insertions(+), 2 deletions(-)
[main 36a8cd1] Mirror: 3.7.1
2 files changed, 2 insertions(+), 2 deletions(-)
[main a2258be] Mirror: 3.7.2
2 files changed, 2 insertions(+), 2 deletions(-)
[main e1cb308] Mirror: 3.7.3
2 files changed, 2 insertions(+), 2 deletions(-)
[main ff46066] Mirror: 3.7.4
2 files changed, 2 insertions(+), 2 deletions(-)
[main d45c945] Mirror: 3.7.5
2 files changed, 2 insertions(+), 2 deletions(-)
[main 842f3ac] Mirror: 3.7.6
2 files changed, 2 insertions(+), 2 deletions(-)
[main 863d93b] Mirror: 3.7.7
2 files changed, 2 insertions(+), 2 deletions(-)
[main b3e2868] Mirror: 3.7.8
2 files changed, 2 insertions(+), 2 deletions(-)
[main e66f7df] Mirror: 3.7.9
2 files changed, 2 insertions(+), 2 deletions(-)
[main 0587b58] Mirror: 3.8.0a1
2 files changed, 2 insertions(+), 2 deletions(-)
[main a7f1ae8] Mirror: 3.8.0a2
2 files changed, 2 insertions(+), 2 deletions(-)
[main 80f9bf5] Mirror: 3.8.0
2 files changed, 2 insertions(+), 2 deletions(-)
[main b13cfe0] Mirror: 3.8.1
2 files changed, 2 insertions(+), 2 deletions(-)
[main 34f7b52] Mirror: 3.8.2
2 files changed, 2 insertions(+), 2 deletions(-)
[main 28b952d] Mirror: 3.8.3
2 files changed, 2 insertions(+), 2 deletions(-)
[main 447abd4] Mirror: 3.8.4
2 files changed, 2 insertions(+), 2 deletions(-)
[main 88543d9] Mirror: 3.9.0
2 files changed, 2 insertions(+), 2 deletions(-)
[main b4f2620] Mirror: 3.9.1
2 files changed, 2 insertions(+), 2 deletions(-)
[main 7e4cd7c] Mirror: 3.9.2
2 files changed, 2 insertions(+), 2 deletions(-)
[main 2884b88] Mirror: 4.0.0
2 files changed, 2 insertions(+), 2 deletions(-)
[main a8f5d7c] Mirror: 4.0.1
2 files changed, 2 insertions(+), 2 deletions(-)
[main 7d34aa9] Mirror: 5.0.0
2 files changed, 2 insertions(+), 2 deletions(-)
[main 2016b31] Mirror: 5.0.1
2 files changed, 2 insertions(+), 2 deletions(-)
[main bac4168] Mirror: 5.0.2
2 files changed, 2 insertions(+), 2 deletions(-)
[main 90429bd] Mirror: 5.0.3
2 files changed, 2 insertions(+), 2 deletions(-)
[main 87b513a] Mirror: 5.0.4
2 files changed, 2 insertions(+), 2 deletions(-)
[main ab91ae9] Mirror: 6.0.0
2 files changed, 2 insertions(+), 2 deletions(-)
[main b54d8d6] Mirror: 6.1.0
2 files changed, 2 insertions(+), 2 deletions(-)
[main ee8b1fb] Mirror: 7.0.0
2 files changed, 2 insertions(+), 2 deletions(-)
[main 8a0ef72] Mirror: 7.1.0
2 files changed, 2 insertions(+), 2 deletions(-)
[main c8e52bf] Mirror: 7.1.1
2 files changed, 2 insertions(+), 2 deletions(-)
[main 3dbbfaf] Mirror: 7.1.2
2 files changed, 2 insertions(+), 2 deletions(-)
[main 83cfe2c] Mirror: 7.2.0
2 files changed, 2 insertions(+), 2 deletions(-)
[main 52ff589] Mirror: 7.3.0
2 files changed, 2 insertions(+), 2 deletions(-)
---------------------------------------------------------------- Captured stderr call -----------------------------------------------------------------
Traceback (most recent call last):
File "/private/var/folders/q3/n53tkc3s4fs5czb2768dy9n00000gn/T/pytest-of-mxr/pytest-15/test_python_integration0/gits/setup.py", line 3, in
from setuptools import setup
ModuleNotFoundError: No module named 'setuptools'
=============================================================== short test summary info ===============================================================
FAILED tests/make_repo_test.py::test_python_integration - subprocess.CalledProcessError: Command '('/Users/mxr/src/pre-commit/pre-commit-mirror-maker/.tox/py/bin/python', 'setup.py', 'egg_info')' returned...
========================================================== 1 failed, 30 deselected in 2.48s ===========================================================
py: exit 1 (2.74 seconds) /Users/mxr/src/pre-commit/pre-commit-mirror-maker> coverage run -m pytest '-k test_python_integration' pid=72159
py: FAIL code 1 (8.62=setup[5.45]+cmd[0.44,2.74] seconds)
evaluation failed :( (8.65 seconds)

The test passes if I add setuptools to requirements.txt... but I see a python -I -m pip install 'setuptools>=40.8.0' line in the logs and it works in GH actions as-is so not sure what's going on

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions