-
-
Notifications
You must be signed in to change notification settings - Fork 551
Closed
Labels
bug:normalaffects many people or has quite an impactaffects many people or has quite an impacthelp:wantedIssues that have been acknowledged, a solution determined and a PR might likely be accepted.Issues that have been acknowledged, a solution determined and a PR might likely be accepted.
Description
Issue
Since tox 4.1.2, tox --skip-missing-interpreters false -e someenv seems to want interpreters present also for envs that are not invoked.
Up to 4.1.1, since from I don't remember when (3.x a long time ago), this used to work the way I'd assume: fail on missing interpreters only for environments that are actually going to be used. 4.1.2..4.1.3 have the problem.
Environment
Provide at least:
- OS: Linux
pip listof the host Python wheretoxis installed:
Package Version
---------------------- -------
astroid 2.12.12
attrs 22.1.0
bandit 1.7.4
black 22.6.0
cachetools 5.2.0
cfgv 3.3.1
chardet 5.1.0
click 8.1.3
colorama 0.4.6
coverage 6.5.0
dill 0.3.6
distlib 0.3.6
exceptiongroup 1.0.1
filelock 3.9.0
flake8 6.0.0
flake8-bandit 4.1.1
flake8-bugbear 22.8.23
flake8-docstrings 1.6.0
flake8-noqa 1.3.0
gitdb 4.0.9
GitPython 3.1.29
identify 2.5.8
iniconfig 1.1.1
isort 5.9.3
jedi 0.17.2
lazy-object-proxy 1.8.0
mccabe 0.7.0
mypy 0.990
mypy-extensions 0.4.3
nodeenv 1.7.0
packaging 22.0
parso 0.7.1
pathspec 0.10.1
pbr 5.11.0
pip 22.2.2
platformdirs 2.6.2
pluggy 1.0.0
pre-commit 2.21.0
py 1.11.0
pycodestyle 2.10.0
pydocstyle 6.1.1
pyflakes 3.0.1
pylint 2.15.5
pyparsing 3.0.9
pyproject_api 1.3.0
pytest 7.2.0
pytest-cov 4.0.0
python-jsonrpc-server 0.4.0
python-language-server 0.36.2
pyupgrade 3.2.2
PyYAML 6.0
setuptools 65.6.3
six 1.16.0
smmap 5.0.0
snowballstemmer 2.2.0
stevedore 4.1.1
tokenize-rt 5.0.0
toml 0.10.2
tomli 2.0.1
tomlkit 0.11.6
tox 4.1.2
typing_extensions 4.4.0
ujson 5.5.0
virtualenv 20.17.1
wrapt 1.14.1Output of running tox
Provide the output of tox -rvv:
(please note the actual invoked command has additionally --skip-missing-interpreters false -e py310)
$ tox -rvv --skip-missing-interpreters false -e py310
[...]
Traceback (most recent call last):
File ".../bin/tox", line 8, in <module>
sys.exit(run())
File ".../lib/python3.10/site-packages/tox/run.py", line 19, in run
result = main(sys.argv[1:] if args is None else args)
File ".../lib/python3.10/site-packages/tox/run.py", line 45, in main
result = handler(state)
File ".../lib/python3.10/site-packages/tox/session/cmd/legacy.py", line 111, in legacy
return run_sequential(state)
File ".../lib/python3.10/site-packages/tox/session/cmd/run/sequential.py", line 22, in run_sequential
return execute(state, max_workers=1, has_spinner=False, live=True)
File ".../lib/python3.10/site-packages/tox/session/cmd/run/common.py", line 213, in execute
state.envs.ensure_only_run_env_is_active()
File ".../lib/python3.10/site-packages/tox/session/env_select.py", line 365, in ensure_only_run_env_is_active
envs, active = self._defined_envs, self._env_name_to_active()
File ".../lib/python3.10/site-packages/tox/session/env_select.py", line 225, in _defined_envs
raise failed[next(iter(failed_to_create))]
File ".../lib/python3.10/site-packages/tox/session/env_select.py", line 202, in _defined_envs
run_env.package_env = self._build_pkg_env(pkg_name_type, name, env_name_to_active)
File ".../lib/python3.10/site-packages/tox/session/env_select.py", line 270, in _build_pkg_env
name_type = next(child_package_envs)
File ".../lib/python3.10/site-packages/tox/tox_env/python/virtual_env/package/pyproject.py", line 141, in register_run_env
yield from super().register_run_env(run_env)
File ".../lib/python3.10/site-packages/tox/tox_env/python/package.py", line 101, in register_run_env
pkg_env = run_env.conf["wheel_build_env"]
File ".../lib/python3.10/site-packages/tox/config/sets.py", line 114, in __getitem__
return self.load(item)
File ".../lib/python3.10/site-packages/tox/config/sets.py", line 125, in load
return config_definition.__call__(self._conf, self.loaders, ConfigLoadArgs(chain, self.name, self.env_name))
File ".../lib/python3.10/site-packages/tox/config/of_type.py", line 110, in __call__
value = self.default(conf, args.env_name) if callable(self.default) else self.default
File ".../lib/python3.10/site-packages/tox/tox_env/python/package.py", line 81, in default_wheel_tag
run_py = cast(Python, run_env).base_python
File ".../lib/python3.10/site-packages/tox/tox_env/python/api.py", line 240, in base_python
raise NoInterpreter(base_pythons)
tox.tox_env.python.api.NoInterpreter: could not find python interpreter matching any of the specs py33Minimal example
If possible, provide a minimal reproducer for the issue:
tox.ini producing the above:
[tox]
envlist = py33, py310
[testenv]
usedevelop = trueReactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bug:normalaffects many people or has quite an impactaffects many people or has quite an impacthelp:wantedIssues that have been acknowledged, a solution determined and a PR might likely be accepted.Issues that have been acknowledged, a solution determined and a PR might likely be accepted.