Skip to content

Tests failing on distutils on Python < 3.12 #31

@jaraco

Description

@jaraco

I'm seeing this emergent failure when importing Setuptools:

  tox
  shell: /usr/bin/bash -e {0}
  env:
    FORCE_COLOR: 1
    PIP_DISABLE_PIP_VERSION_CHECK: true
    PIP_NO_WARN_SCRIPT_LOCATION: true
    TOX_OVERRIDE: testenv.pass_env+=GITHUB_*,FORCE_COLOR
    pythonLocation: /opt/hostedtoolcache/Python/3.10.19/x64
    PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.10.19/x64/lib/pkgconfig
    Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.19/x64
    Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.19/x64
    Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.19/x64
    LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.10.19/x64/lib
.pkg: install_requires> python -I -m pip install coherent.licensed 'setuptools>=77' 'setuptools_scm[toml]>=3.4.1'
.pkg: _optional_hooks> python /opt/hostedtoolcache/Python/3.10.19/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta
.pkg: get_requires_for_build_editable> python /opt/hostedtoolcache/Python/3.10.19/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta
.pkg: freeze> python -m pip freeze --all
.pkg: coherent.licensed==0.5.2,packaging==26.0,pip==25.3,setuptools==80.9.0,setuptools-scm==9.2.2,tomli==2.4.0
.pkg: build_editable> python /opt/hostedtoolcache/Python/3.10.19/x64/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta
py: install_package_deps> python -I -m pip install PyNaCl build 'ini2toml[full]' jaraco.context 'jaraco.packaging>=10' 'jaraco.ui>=2.4' 'jaraco.vcs>=1.1' keyring packaging path 'pytest!=8.1.*,>=6' 'pytest-checkdocs>=2.4' pytest-cov 'pytest-enabler>=3.4' pytest-home 'pytest-mypy>=1.0.1' 'pytest-ruff>=0.2.1; sys_platform != "cygwin"' requests requests-file requests-toolbelt setuptools subprocess-tee typer types-requests types-setuptools typing-extensions
py: install_package> python -I -m pip install --force-reinstall --no-deps /home/runner/work/jaraco.develop/jaraco.develop/.tox/.tmp/package/1/jaraco_develop-0.1.dev1+gc78785506-0.editable-py3-none-any.whl
py: freeze> python -m pip freeze --all
py: alabaster==1.0.0,autocommand==2.2.2,babel==2.18.0,backports.tarfile==1.2.0,build==1.4.0,certifi==2026.1.4,cffi==2.0.0,charset-normalizer==3.4.4,click==8.3.1,ConfigUpdater==3.2,coverage==7.13.3,cryptography==46.0.4,distlib==0.4.0,docutils==0.21.2,domdf_python_tools==3.10.0,exceptiongroup==1.3.1,filelock==3.20.3,idna==3.11,imagesize==1.4.1,importlib_metadata==8.7.1,importlib_resources==6.5.2,ini2toml==0.15,iniconfig==2.3.0,jaraco.classes==3.4.0,jaraco.context==6.1.0,jaraco.develop @ file:///home/runner/work/jaraco.develop/jaraco.develop/.tox/.tmp/package/1/jaraco_develop-0.1.dev1%2Bgc78785506-0.editable-py3-none-any.whl#sha256=0ddb79e3cea55e7eadd6a3fc4ecab68b41d52eccce945325b7d7b66350e26534,jaraco.functools==4.4.0,jaraco.packaging==10.2.3,jaraco.path==3.7.2,jaraco.text==4.0.0,jaraco.ui==2.4.0,jaraco.vcs==2.4.1,jaraco.versioning==1.1.0,jeepney==0.9.0,Jinja2==3.1.6,keyring==25.7.0,librt==0.7.8,markdown-it-py==4.0.0,MarkupSafe==3.0.3,mdurl==0.1.2,more-itertools==10.8.0,mypy==1.19.1,mypy_extensions==1.1.0,named==1.4.2,natsort==8.4.0,packaging==26.0,path==17.1.1,pathspec==1.0.4,pip==25.3,platformdirs==4.5.1,pluggy==1.6.0,pycparser==3.0,Pygments==2.19.2,PyNaCl==1.6.2,pyproject_hooks==1.2.0,pytest==9.0.2,pytest-checkdocs==2.14.0,pytest-cov==7.0.0,pytest-enabler==3.4.0,pytest-home==0.6.0,pytest-mypy==1.0.1,pytest-ruff==0.5,python-dateutil==2.9.0.post0,requests==2.32.5,requests-file==3.0.1,requests-toolbelt==1.0.0,rich==14.3.2,ruff==0.15.0,SecretStorage==3.5.0,setuptools==80.9.0,shellingham==1.5.4,six==1.17.0,snowballstemmer==3.0.1,Sphinx==8.1.3,sphinxcontrib-applehelp==2.0.0,sphinxcontrib-devhelp==2.0.0,sphinxcontrib-htmlhelp==2.1.0,sphinxcontrib-jsmath==1.0.1,sphinxcontrib-qthelp==2.0.0,sphinxcontrib-serializinghtml==2.0.0,subprocess-tee==0.4.2,tempora==5.8.1,toml==0.10.2,tomli==2.4.0,tomlkit==0.14.0,typer==0.21.1,types-requests==2.32.4.20260107,types-setuptools==80.10.0.20260124,typing_extensions==4.15.0,urllib3==2.6.3,virtualenv==20.36.1,zipp==3.23.0
py: commands[0]> pytest
============================= test session starts ==============================
platform linux -- Python 3.10.19, pytest-9.0.2, pluggy-1.6.0
cachedir: .tox/py/.pytest_cache
rootdir: /home/runner/work/jaraco.develop/jaraco.develop
configfile: pytest.ini
plugins: checkdocs-2.14.0, jaraco.vcs-2.4.1, cov-7.0.0, enabler-3.4.0, mypy-1.0.1, home-0.6.0, ruff-0.5
collected 101 items / 1 error

==================================== ERRORS ====================================
_________________ ERROR collecting jaraco/develop/compiler.py __________________
jaraco/develop/compiler.py:7: in <module>
    from setuptools._distutils import ccompiler, sysconfig
.tox/py/lib/python3.10/site-packages/setuptools/__init__.py:21: in <module>
    import _distutils_hack.override  # noqa: F401
.tox/py/lib/python3.10/site-packages/_distutils_hack/override.py:1: in <module>
    __import__('_distutils_hack').do_override()
.tox/py/lib/python3.10/site-packages/_distutils_hack/__init__.py:89: in do_override
    ensure_local_distutils()
.tox/py/lib/python3.10/site-packages/_distutils_hack/__init__.py:76: in ensure_local_distutils
    assert '_distutils' in core.__file__, core.__file__
E   AssertionError: /opt/hostedtoolcache/Python/3.10.19/x64/lib/python3.10/distutils/core.py
=============================== warnings summary ===============================
../../../../../opt/hostedtoolcache/Python/3.10.19/x64/lib/python3.10/importlib/__init__.py:126
  /opt/hostedtoolcache/Python/3.10.19/x64/lib/python3.10/importlib/__init__.py:126: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
    return _bootstrap._gcd_import(name[level:], package, level)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
ERROR jaraco/develop/compiler.py - AssertionError: /opt/hostedtoolcache/Python/3.10.19/x64/lib/python3.10/dist...
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
========================= 1 warning, 1 error in 6.27s ==========================
py: exit 2 (6.87 seconds) /home/runner/work/jaraco.develop/jaraco.develop> pytest pid=2347
  py: FAIL code 2 (22.91=setup[16.03]+cmd[6.87] seconds)
  evaluation failed :( (22.98 seconds)
Error: Process completed with exit code 2.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions