Closed jaraco closed 1 year ago
Even installing the same Python version and Pip version, I'm unable to replicate the failure. I am able to replicate the failure, however, by uninstalling Setuptools.
Deps when things passed:
attrs==22.2.0,autocommand==2.2.2,black==23.3.0,build==0.10.0,click==8.1.3,coverage==7.2.3,docutils==0.19,fastjsonschema==2.16.3,filelock==3.11.0,flake8==4.0.1,inflect==6.0.4,iniconfig==2.0.0,jaraco.context==4.3.0,jaraco.functools==3.6.0,jaraco.path==3.5.0,jaraco.test==5.3.0,jaraco.text==3.11.1,jsonschema==4.17.3,jupyter_core==5.3.0,mccabe==0.6.1,more-itertools==9.1.0,mypy==1.2.0,mypy-extensions==1.0.0,nbformat==5.8.0,packaging==23.1,path==16.6.0,pathspec==0.11.1,pip==23.0.1,pip-run @ file:///home/runner/work/pip-run/pip-run/.tox/.tmp/package/1/pip_run-10.0.7-0.editable-py3-none-any.whl,platformdirs==3.2.0,pluggy==1.0.0,pycodestyle==2.8.0,pydantic==1.10.7,pyflakes==2.4.0,Pygments==2.15.0,pyproject_hooks==1.0.0,pyrsistent==0.19.3,pytest==7.3.1,pytest-black==0.3.12,pytest-checkdocs==2.9.0,pytest-cov==4.0.0,pytest-enabler==2.1.0,pytest-mypy==0.10.3,setuptools==67.4.0,toml==0.10.2,traitlets==5.9.0,typing_extensions==4.5.0,wheel==0.38.4
And failed:
attrs==23.1.0,autocommand==2.2.2,black==23.3.0,build==0.10.0,click==8.1.3,coverage==7.2.5,docutils==0.20,fastjsonschema==2.16.3,filelock==3.12.0,inflect==6.0.4,iniconfig==2.0.0,jaraco.context==4.3.0,jaraco.functools==3.6.0,jaraco.path==3.5.0,jaraco.test==5.3.0,jaraco.text==3.11.1,jsonschema==4.17.3,jupyter_core==5.3.0,more-itertools==9.1.0,mypy==1.3.0,mypy-extensions==1.0.0,nbformat==5.8.0,packaging==23.1,path==16.6.0,pathspec==0.11.1,pip==23.1.2,pip-run @ file:///home/runner/work/pip-run/pip-run/.tox/.tmp/package/1/pip_run-0.1.dev1%2Bgbca2e68-0.editable-py3-none-any.whl#sha256=c881249ccd5ff6498957cd89016ca6b3c86c79d5e1fcc981a317a83fc318f45b,platformdirs==3.5.0,pluggy==1.0.0,pydantic==1.10.7,Pygments==2.15.1,pyproject_hooks==1.0.0,pyrsistent==0.19.3,pytest==7.3.1,pytest-black==0.3.12,pytest-checkdocs==2.9.0,pytest-cov==4.0.0,pytest-enabler==2.1.0,pytest-mypy==0.10.3,pytest-ruff==0.0.6,ruff==0.0.265,toml==0.10.2,traitlets==5.9.0,typing_extensions==4.5.0
Here are the differences:
$ cmpreqs before.txt after.txt
Different dependencies
======================
Name before.txt after.txt
------------ ---------- ---------
attrs 22.2.0 23.1.0
coverage 7.2.3 7.2.5
docutils 0.19 0.20
filelock 3.11.0 3.12.0
mypy 1.2.0 1.3.0
pip 23.0.1 23.1.2
platformdirs 3.2.0 3.5.0
pygments 2.15.0 2.15.1
Equal dependencies
==================
Name Version
----------------- -------
autocommand 2.2.2
black 23.3.0
build 0.10.0
click 8.1.3
fastjsonschema 2.16.3
inflect 6.0.4
iniconfig 2.0.0
jaraco.context 4.3.0
jaraco.functools 3.6.0
jaraco.path 3.5.0
jaraco.test 5.3.0
jaraco.text 3.11.1
jsonschema 4.17.3
jupyter_core 5.3.0
more-itertools 9.1.0
mypy-extensions 1.0.0
nbformat 5.8.0
packaging 23.1
path 16.6.0
pathspec 0.11.1
pluggy 1.0.0
pydantic 1.10.7
pyproject_hooks 1.0.0
pyrsistent 0.19.3
pytest 7.3.1
pytest-black 0.3.12
pytest-checkdocs 2.9.0
pytest-cov 4.0.0
pytest-enabler 2.1.0
pytest-mypy 0.10.3
toml 0.10.2
traitlets 5.9.0
typing_extensions 4.5.0
Only available on after.txt
===========================
Name Version
----------- -------
pytest-ruff 0.0.6
ruff 0.0.265
Only available on before.txt
============================
Name Version
----------- -------
pyflakes 2.4.0
wheel 0.38.4
pycodestyle 2.8.0
flake8 4.0.1
setuptools 67.4.0
mccabe 0.6.1
Interesting, so setuptools is actually missing from the later installs. Yet, when I tried to add setuptools to the environment explicitly (https://github.com/jaraco/pip-run/commit/d6783eadb1fb3713793998763201b4c32d766c21), it doesn't seem to have a restorative effect. Maybe that's because wheel also needs to be installed?
Oh! I was able to replicate the issue by upgrading tox. So it seems that something between tox 4.4.12 and 4.5.1 may have affected the behavior of setuptools being installed.
There's nothing in the tox history that seems relevant, so now I'm suspecting virtualenv.
Indeed, virtualenv 20.23.0 declares the dropped support (in a feature release, no less).
Starting with https://github.com/jaraco/pip-run/actions/runs/4942872046 (bca2e68ded483253f839468cf1a185d6b6cf1f79), tests started failing on Python 3.12 for all platforms, but only in CI. When testing locally, tests still pass on Python 3.12. The issue seems to be related to Setuptools not being available in
test_pkg_loaded_from_url
.