-
-
Notifications
You must be signed in to change notification settings - Fork 549
Dot notation increases opportunities for environment factor mismatches and makes them harder to spot #3877
Description
Issue
This is likely a dup of #3219 , but the advent of Python versions using dot notation affords more opportunities for silent errors. A minimal example is provided below, but the crux of the issue comes down to this: If py310 is handled by the [testenv] environment, and a factor py310-lint is handled by the [testenv:py310-lint] environment, running tox -e py3.10-lint will run the [testenv] environment without warning or complaint, even though py3.10-lint does not appear in tox list.
This fees like a bit like a foot gun, since spotting the difference without warnings or errors is difficult.
This could also be characterized as a feature request: Allow option for short-circuit exit with error if Tox is asked to run on an environment that does not appear in tox list.
Minimal example
[tox]
envlist = py3{10-14}{,-lint}
[testenv]
commands =
echo "got to testenv from {env_name} ({env_dir})"
deps =
allowlist_externals =
echo
[testenv:py3{10-14}-lint]
commands =
echo "got to py3{10-14}-lint from {env_name} ({env_dir})"
deps =
allowlist_externals =
echoNon-verbose run:
+-zsh:121> tox -c tox-test.ini list
default environments:
py310 -> [no description]
py310-lint -> [no description]
py311 -> [no description]
py311-lint -> [no description]
py312 -> [no description]
py312-lint -> [no description]
py313 -> [no description]
py313-lint -> [no description]
py314 -> [no description]
py314-lint -> [no description]
+-zsh:121> tox -c tox-test.ini -e py310,py310-lint,py3.10-lint,py315-lint
py310: commands[0]> echo 'got to testenv from py310 (/.../proj/.tox/py310)'
got to testenv from py310 (/.../proj/.tox/py310)
py310: OK ✔ in 0.03 seconds
py310-lint: commands[0]> echo 'got to py3{10-14}-lint from py310-lint (/.../proj/.tox/py310-lint)'
got to py3{10-14}-lint from py310-lint (/.../proj/.tox/py310-lint)
py310-lint: OK ✔ in 0.01 seconds
py3.10-lint: commands[0]> echo 'got to testenv from py3.10-lint (/.../proj/.tox/py3.10-lint)'
got to testenv from py3.10-lint (/.../proj/.tox/py3.10-lint)
py3.10-lint: OK ✔ in 0.01 seconds
py315-lint: commands[0]> echo 'got to testenv from py315-lint (/.../proj/.tox/py315-lint)'
got to testenv from py315-lint (/.../proj/.tox/py315-lint)
py310: OK (0.03=setup[0.03]+cmd[0.00] seconds)
py310-lint: OK (0.01=setup[0.01]+cmd[0.00] seconds)
py3.10-lint: OK (0.01=setup[0.01]+cmd[0.00] seconds)
py315-lint: OK (0.01=setup[0.01]+cmd[0.00] seconds)
congratulations :) (0.09 seconds)
+-zsh:121> tox -c tox-test.ini -e py310-unknown
ROOT: HandledError| provided environments not found in configuration file:
py310-unknown
Environment
Provide at least:
- OS: Linux 6.17.9-76061709-generic x86_64 x86_64 x86_64 (Ubuntu 22.04 LTS)
Output of pip list of the host Python, where tox is installed
% pip list
Package Version
----------------- -------
cachetools 7.0.5
colorama 0.4.6
distlib 0.4.0
filelock 3.25.2
librt 0.8.1
mypy 1.19.1
mypy_extensions 1.1.0
nodeenv 1.10.0
packaging 26.0
pathspec 1.0.4
pip 26.0.1
platformdirs 4.9.4
pluggy 1.6.0
pyproject-api 1.10.0
pyrefly 0.56.0
pyright 1.1.408
python-discovery 1.1.3
ruff 0.15.6
setuptools 82.0.1
tomli_w 1.2.0
tox 4.49.1
ty 0.0.22
typing_extensions 4.15.0
uv 0.10.9
virtualenv 21.2.0Output of running tox
Output of tox -rvv
+-zsh:119> tox -c tox-test.ini list
default environments:
py310 -> [no description]
py310-lint -> [no description]
py311 -> [no description]
py311-lint -> [no description]
py312 -> [no description]
py312-lint -> [no description]
py313 -> [no description]
py313-lint -> [no description]
py314 -> [no description]
py314-lint -> [no description]
+-zsh:119> tox -c tox-test.ini -rvv -e py310,py310-lint,py3.10-lint,py315-lint
py310: 114 W remove tox env folder /.../proj/.tox/py310 [tox/tox_env/api.py:376]
py310: 126 D created app data folder /.../.cache/virtualenv [virtualenv/app_data/__init__.py:65]
py310: 128 I find interpreter for spec PythonSpec(major=3, minor=10, free_threaded=False) [python_discovery/_discovery.py:62]
py310: 131 D got python info of /usr/bin/python3.14 from /.../.cache/virtualenv/py_info/4/c03c93ec8cafc307d5de617b0988d1c401bf0aae3f19e8b03174a9bc0f3cb5d7.json [virtualenv/app_data/via_disk_folder.py:139]
py310: 131 D filesystem is case-sensitive [python_discovery/_compat.py:18]
py310: 131 I proposed PythonInfo(spec=CPython3.14.3.final.0-64-x86_64, system=/usr/bin/python3.14, exe=/.../.virtualenvs/astral/bin/python, platform=linux, version='3.14.3 (main, Feb 4 2026, 09:28:29) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:71]
py310: 132 D discover PATH[0]=/.../.virtualenvs/astral/bin [python_discovery/_discovery.py:176]
py310: 132 D got python info of /.../.virtualenvs/astral/bin/python3 from /.../.cache/virtualenv/py_info/4/c3d84f6a3cb9463d5350bd377d46ad5e1aa36bdccefae53fcefc8bcfe2a1fdf7.json [virtualenv/app_data/via_disk_folder.py:139]
py310: 132 D discover PATH[1]=/.../sbin [python_discovery/_discovery.py:176]
py310: 133 D discover PATH[2]=/.../bin [python_discovery/_discovery.py:176]
py310: 133 D discover PATH[3]=/.../.local/bin [python_discovery/_discovery.py:176]
py310: 133 D discover PATH[4]=/.../.cargo/bin [python_discovery/_discovery.py:176]
py310: 133 D discover PATH[5]=/usr/local/bin [python_discovery/_discovery.py:176]
py310: 133 D discover PATH[6]=/usr/sbin [python_discovery/_discovery.py:176]
py310: 135 D discover PATH[7]=/sbin [python_discovery/_discovery.py:176]
py310: 137 D discover PATH[8]=/usr/bin [python_discovery/_discovery.py:176]
py310: 140 D got python info of /usr/bin/python3 from /.../.cache/virtualenv/py_info/4/31f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6.json [virtualenv/app_data/via_disk_folder.py:139]
py310: 140 I proposed PathPythonInfo(spec=CPython3.10.12.final.0-64-x86_64, exe=/usr/bin/python3, platform=linux, version='3.10.12 (main, Mar 3 2026, 11:56:32) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:71]
py310: 140 D accepted PathPythonInfo(spec=CPython3.10.12.final.0-64-x86_64, exe=/usr/bin/python3, platform=linux, version='3.10.12 (main, Mar 3 2026, 11:56:32) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:75]
py310: 141 D symlink on filesystem does work [virtualenv/info.py:51]
py310: 141 D filesystem is case-sensitive [virtualenv/info.py:28]
py310: 157 I create virtual environment via CPython3Posix(dest=/.../proj/.tox/py310, clear=False, no_vcs_ignore=False, global=False) [virtualenv/run/session.py:77]
py310: 157 D create folder /.../proj/.tox/py310/bin [virtualenv/util/path/_sync.py:18]
py310: 157 D create folder /.../proj/.tox/py310/include [virtualenv/util/path/_sync.py:18]
py310: 157 D create folder /.../proj/.tox/py310/lib/python3.10/site-packages [virtualenv/util/path/_sync.py:18]
py310: 157 D write /.../proj/.tox/py310/pyvenv.cfg [virtualenv/create/pyenv_cfg.py:41]
py310: 157 D home = /usr/bin [virtualenv/create/pyenv_cfg.py:51]
py310: 157 D implementation = CPython [virtualenv/create/pyenv_cfg.py:51]
py310: 157 D version_info = 3.10.12.final.0 [virtualenv/create/pyenv_cfg.py:51]
py310: 157 D version = 3.10.12 [virtualenv/create/pyenv_cfg.py:51]
py310: 157 D executable = /usr/bin/python3.10 [virtualenv/create/pyenv_cfg.py:51]
py310: 157 D command = /.../.virtualenvs/astral/bin/python -m virtualenv /.../proj/.tox/py310 [virtualenv/create/pyenv_cfg.py:51]
py310: 157 D virtualenv = 21.2.0 [virtualenv/create/pyenv_cfg.py:51]
py310: 157 D include-system-site-packages = false [virtualenv/create/pyenv_cfg.py:51]
py310: 157 D base-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]
py310: 157 D base-exec-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]
py310: 157 D base-executable = /usr/bin/python3 [virtualenv/create/pyenv_cfg.py:51]
py310: 158 D symlink /usr/bin/python3 to /.../proj/.tox/py310/bin/python [virtualenv/util/path/_sync.py:38]
py310: 158 D create virtualenv import hook file /.../proj/.tox/py310/lib/python3.10/site-packages/_virtualenv.pth [virtualenv/create/via_global_ref/api.py:118]
py310: 158 D create /.../proj/.tox/py310/lib/python3.10/site-packages/_virtualenv.py [virtualenv/create/via_global_ref/api.py:121]
py310: 158 D ============================== target debug ============================== [virtualenv/run/session.py:79]
py310: 158 D debug via /.../proj/.tox/py310/bin/python /.../.virtualenvs/astral/lib/python3.14/site-packages/virtualenv/create/debug.py [virtualenv/create/creator.py:263]
py310: 158 D {
"sys": {
"executable": "/.../proj/.tox/py310/bin/python",
"_base_executable": "/.../proj/.tox/py310/bin/python",
"prefix": "/.../proj/.tox/py310",
"base_prefix": "/usr",
"real_prefix": null,
"exec_prefix": "/.../proj/.tox/py310",
"base_exec_prefix": "/usr",
"path": [
"/usr/lib/python310.zip",
"/usr/lib/python3.10",
"/usr/lib/python3.10/lib-dynload",
"/.../proj/.tox/py310/lib/python3.10/site-packages"
],
"meta_path": [
"<class '_virtualenv._Finder'>",
"<class '_frozen_importlib.BuiltinImporter'>",
"<class '_frozen_importlib.FrozenImporter'>",
"<class '_frozen_importlib_external.PathFinder'>"
],
"fs_encoding": "utf-8",
"io_encoding": "utf-8"
},
"version": "3.10.12 (main, Mar 3 2026, 11:56:32) [GCC 11.4.0]",
"makefile_filename": "/usr/lib/python3.10/config-3.10-x86_64-linux-gnu/Makefile",
"os": "<module 'os' from '/usr/lib/python3.10/os.py'>",
"site": "<module 'site' from '/usr/lib/python3.10/site.py'>",
"datetime": "<module 'datetime' from '/usr/lib/python3.10/datetime.py'>",
"math": "<module 'math' (built-in)>",
"json": "<module 'json' from '/usr/lib/python3.10/json/__init__.py'>"
} [virtualenv/run/session.py:80]
py310: 177 I add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, via=copy, app_data_dir=/.../.cache/virtualenv) [virtualenv/run/session.py:84]
py310: 178 D got embed update of distribution pip from /.../.cache/virtualenv/wheel/3.10/embed/3/pip.json [virtualenv/app_data/via_disk_folder.py:139]
py310: 180 D got embed update of distribution setuptools from /.../.cache/virtualenv/wheel/3.10/embed/3/setuptools.json [virtualenv/app_data/via_disk_folder.py:139]
py310: 181 D using periodically updated wheel /.../.cache/virtualenv/wheel/house/setuptools-82.0.1-py3-none-any.whl [virtualenv/seed/wheels/periodic_update.py:55]
py310: 181 D install pip from wheel /.../.virtualenvs/astral/lib/python3.14/site-packages/virtualenv/seed/wheels/embed/pip-26.0.1-py3-none-any.whl via CopyPipInstall [virtualenv/seed/embed/via_app_data/via_app_data.py:65]
py310: 181 D install setuptools from wheel /.../.cache/virtualenv/wheel/house/setuptools-82.0.1-py3-none-any.whl via CopyPipInstall [virtualenv/seed/embed/via_app_data/via_app_data.py:65]
py310: 182 D copy directory /.../.cache/virtualenv/wheel/3.10/image/1/CopyPipInstall/pip-26.0.1-py3-none-any/pip-26.0.1.dist-info to /.../proj/.tox/py310/lib/python3.10/site-packages/pip-26.0.1.dist-info [virtualenv/util/path/_sync.py:46]
py310: 182 D copy /.../.cache/virtualenv/wheel/3.10/image/1/CopyPipInstall/setuptools-82.0.1-py3-none-any/setuptools-82.0.1.virtualenv to /.../proj/.tox/py310/lib/python3.10/site-packages/setuptools-82.0.1.virtualenv [virtualenv/util/path/_sync.py:46]
py310: 183 D copy /.../.cache/virtualenv/wheel/3.10/image/1/CopyPipInstall/setuptools-82.0.1-py3-none-any/distutils-precedence.pth to /.../proj/.tox/py310/lib/python3.10/site-packages/distutils-precedence.pth [virtualenv/util/path/_sync.py:46]
py310: 183 D copy directory /.../.cache/virtualenv/wheel/3.10/image/1/CopyPipInstall/setuptools-82.0.1-py3-none-any/_distutils_hack to /.../proj/.tox/py310/lib/python3.10/site-packages/_distutils_hack [virtualenv/util/path/_sync.py:46]
py310: 184 D copy directory /.../.cache/virtualenv/wheel/3.10/image/1/CopyPipInstall/setuptools-82.0.1-py3-none-any/setuptools to /.../proj/.tox/py310/lib/python3.10/site-packages/setuptools [virtualenv/util/path/_sync.py:46]
py310: 189 D copy directory /.../.cache/virtualenv/wheel/3.10/image/1/CopyPipInstall/pip-26.0.1-py3-none-any/pip to /.../proj/.tox/py310/lib/python3.10/site-packages/pip [virtualenv/util/path/_sync.py:46]
py310: 229 D copy directory /.../.cache/virtualenv/wheel/3.10/image/1/CopyPipInstall/setuptools-82.0.1-py3-none-any/setuptools-82.0.1.dist-info to /.../proj/.tox/py310/lib/python3.10/site-packages/setuptools-82.0.1.dist-info [virtualenv/util/path/_sync.py:46]
py310: 229 D copy /.../.cache/virtualenv/wheel/3.10/image/1/CopyPipInstall/pip-26.0.1-py3-none-any/pip-26.0.1.virtualenv to /.../proj/.tox/py310/lib/python3.10/site-packages/pip-26.0.1.virtualenv [virtualenv/util/path/_sync.py:46]
py310: 230 D generated console scripts [virtualenv/seed/embed/via_app_data/pip_install/base.py:49]
py310: 230 D generated console scripts pip3.10 pip3 pip pip-3.10 [virtualenv/seed/embed/via_app_data/pip_install/base.py:49]
py310: 231 I add activators for Bash, CShell, Fish, Nushell, PowerShell, Python [virtualenv/run/session.py:90]
py310: 233 D write /.../proj/.tox/py310/pyvenv.cfg [virtualenv/create/pyenv_cfg.py:41]
py310: 233 D home = /usr/bin [virtualenv/create/pyenv_cfg.py:51]
py310: 233 D implementation = CPython [virtualenv/create/pyenv_cfg.py:51]
py310: 233 D version_info = 3.10.12.final.0 [virtualenv/create/pyenv_cfg.py:51]
py310: 233 D version = 3.10.12 [virtualenv/create/pyenv_cfg.py:51]
py310: 233 D executable = /usr/bin/python3.10 [virtualenv/create/pyenv_cfg.py:51]
py310: 233 D command = /.../.virtualenvs/astral/bin/python -m virtualenv /.../proj/.tox/py310 [virtualenv/create/pyenv_cfg.py:51]
py310: 233 D virtualenv = 21.2.0 [virtualenv/create/pyenv_cfg.py:51]
py310: 233 D include-system-site-packages = false [virtualenv/create/pyenv_cfg.py:51]
py310: 233 D base-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]
py310: 233 D base-exec-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]
py310: 233 D base-executable = /usr/bin/python3 [virtualenv/create/pyenv_cfg.py:51]
py310: 244 W commands[0]> echo 'got to testenv from py310 (/.../proj/.tox/py310)' [tox/tox_env/api.py:499]
got to testenv from py310 (/.../proj/.tox/py310)
py310: 247 I exit 0 (0.00 seconds) /.../proj> echo 'got to testenv from py310 (/.../proj/.tox/py310)' pid=246894 [tox/execute/api.py:311]
py310: OK ✔ in 0.13 seconds
py310-lint: 247 W remove tox env folder /.../proj/.tox/py310-lint [tox/tox_env/api.py:376]
py310-lint: 261 D created app data folder /.../.cache/virtualenv [virtualenv/app_data/__init__.py:65]
py310-lint: 262 I find interpreter for spec PythonSpec(major=3, minor=10, free_threaded=False) [python_discovery/_discovery.py:62]
py310-lint: 262 I proposed PythonInfo(spec=CPython3.14.3.final.0-64-x86_64, system=/usr/bin/python3.14, exe=/.../.virtualenvs/astral/bin/python3, platform=linux, version='3.14.3 (main, Feb 4 2026, 09:28:29) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:71]
py310-lint: 262 D discover PATH[0]=/.../.virtualenvs/astral/bin [python_discovery/_discovery.py:176]
py310-lint: 262 D discover PATH[1]=/.../sbin [python_discovery/_discovery.py:176]
py310-lint: 262 D discover PATH[2]=/.../bin [python_discovery/_discovery.py:176]
py310-lint: 262 D discover PATH[3]=/.../.local/bin [python_discovery/_discovery.py:176]
py310-lint: 263 D discover PATH[4]=/.../.cargo/bin [python_discovery/_discovery.py:176]
py310-lint: 263 D discover PATH[5]=/usr/local/bin [python_discovery/_discovery.py:176]
py310-lint: 263 D discover PATH[6]=/usr/sbin [python_discovery/_discovery.py:176]
py310-lint: 264 D discover PATH[7]=/sbin [python_discovery/_discovery.py:176]
py310-lint: 267 D discover PATH[8]=/usr/bin [python_discovery/_discovery.py:176]
py310-lint: 270 I proposed PathPythonInfo(spec=CPython3.10.12.final.0-64-x86_64, exe=/usr/bin/python3, platform=linux, version='3.10.12 (main, Mar 3 2026, 11:56:32) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:71]
py310-lint: 270 D accepted PathPythonInfo(spec=CPython3.10.12.final.0-64-x86_64, exe=/usr/bin/python3, platform=linux, version='3.10.12 (main, Mar 3 2026, 11:56:32) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:75]
py310-lint: 271 I create virtual environment via CPython3Posix(dest=/.../proj/.tox/py310-lint, clear=False, no_vcs_ignore=False, global=False) [virtualenv/run/session.py:77]
py310-lint: 271 D create folder /.../proj/.tox/py310-lint/bin [virtualenv/util/path/_sync.py:18]
py310-lint: 271 D create folder /.../proj/.tox/py310-lint/include [virtualenv/util/path/_sync.py:18]
py310-lint: 271 D create folder /.../proj/.tox/py310-lint/lib/python3.10/site-packages [virtualenv/util/path/_sync.py:18]
py310-lint: 272 D write /.../proj/.tox/py310-lint/pyvenv.cfg [virtualenv/create/pyenv_cfg.py:41]
py310-lint: 272 D home = /usr/bin [virtualenv/create/pyenv_cfg.py:51]
py310-lint: 272 D implementation = CPython [virtualenv/create/pyenv_cfg.py:51]
py310-lint: 272 D version_info = 3.10.12.final.0 [virtualenv/create/pyenv_cfg.py:51]
py310-lint: 272 D version = 3.10.12 [virtualenv/create/pyenv_cfg.py:51]
py310-lint: 272 D executable = /usr/bin/python3.10 [virtualenv/create/pyenv_cfg.py:51]
py310-lint: 272 D command = /.../.virtualenvs/astral/bin/python -m virtualenv /.../proj/.tox/py310-lint [virtualenv/create/pyenv_cfg.py:51]
py310-lint: 272 D virtualenv = 21.2.0 [virtualenv/create/pyenv_cfg.py:51]
py310-lint: 272 D include-system-site-packages = false [virtualenv/create/pyenv_cfg.py:51]
py310-lint: 272 D base-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]
py310-lint: 272 D base-exec-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]
py310-lint: 272 D base-executable = /usr/bin/python3 [virtualenv/create/pyenv_cfg.py:51]
py310-lint: 272 D symlink /usr/bin/python3 to /.../proj/.tox/py310-lint/bin/python [virtualenv/util/path/_sync.py:38]
py310-lint: 272 D create virtualenv import hook file /.../proj/.tox/py310-lint/lib/python3.10/site-packages/_virtualenv.pth [virtualenv/create/via_global_ref/api.py:118]
py310-lint: 272 D create /.../proj/.tox/py310-lint/lib/python3.10/site-packages/_virtualenv.py [virtualenv/create/via_global_ref/api.py:121]
py310-lint: 272 D ============================== target debug ============================== [virtualenv/run/session.py:79]
py310-lint: 272 D debug via /.../proj/.tox/py310-lint/bin/python /.../.virtualenvs/astral/lib/python3.14/site-packages/virtualenv/create/debug.py [virtualenv/create/creator.py:263]
py310-lint: 272 D {
"sys": {
"executable": "/.../proj/.tox/py310-lint/bin/python",
"_base_executable": "/.../proj/.tox/py310-lint/bin/python",
"prefix": "/.../proj/.tox/py310-lint",
"base_prefix": "/usr",
"real_prefix": null,
"exec_prefix": "/.../proj/.tox/py310-lint",
"base_exec_prefix": "/usr",
"path": [
"/usr/lib/python310.zip",
"/usr/lib/python3.10",
"/usr/lib/python3.10/lib-dynload",
"/.../proj/.tox/py310-lint/lib/python3.10/site-packages"
],
"meta_path": [
"<class '_virtualenv._Finder'>",
"<class '_frozen_importlib.BuiltinImporter'>",
"<class '_frozen_importlib.FrozenImporter'>",
"<class '_frozen_importlib_external.PathFinder'>"
],
"fs_encoding": "utf-8",
"io_encoding": "utf-8"
},
"version": "3.10.12 (main, Mar 3 2026, 11:56:32) [GCC 11.4.0]",
"makefile_filename": "/usr/lib/python3.10/config-3.10-x86_64-linux-gnu/Makefile",
"os": "<module 'os' from '/usr/lib/python3.10/os.py'>",
"site": "<module 'site' from '/usr/lib/python3.10/site.py'>",
"datetime": "<module 'datetime' from '/usr/lib/python3.10/datetime.py'>",
"math": "<module 'math' (built-in)>",
"json": "<module 'json' from '/usr/lib/python3.10/json/__init__.py'>"
} [virtualenv/run/session.py:80]
py310-lint: 292 I add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, via=copy, app_data_dir=/.../.cache/virtualenv) [virtualenv/run/session.py:84]
py310-lint: 293 D got embed update of distribution setuptools from /.../.cache/virtualenv/wheel/3.10/embed/3/setuptools.json [virtualenv/app_data/via_disk_folder.py:139]
py310-lint: 293 D using periodically updated wheel /.../.cache/virtualenv/wheel/house/setuptools-82.0.1-py3-none-any.whl [virtualenv/seed/wheels/periodic_update.py:55]
py310-lint: 293 D got embed update of distribution pip from /.../.cache/virtualenv/wheel/3.10/embed/3/pip.json [virtualenv/app_data/via_disk_folder.py:139]
py310-lint: 294 D install setuptools from wheel /.../.cache/virtualenv/wheel/house/setuptools-82.0.1-py3-none-any.whl via CopyPipInstall [virtualenv/seed/embed/via_app_data/via_app_data.py:65]
py310-lint: 294 D install pip from wheel /.../.virtualenvs/astral/lib/python3.14/site-packages/virtualenv/seed/wheels/embed/pip-26.0.1-py3-none-any.whl via CopyPipInstall [virtualenv/seed/embed/via_app_data/via_app_data.py:65]
py310-lint: 295 D copy /.../.cache/virtualenv/wheel/3.10/image/1/CopyPipInstall/setuptools-82.0.1-py3-none-any/setuptools-82.0.1.virtualenv to /.../proj/.tox/py310-lint/lib/python3.10/site-packages/setuptools-82.0.1.virtualenv [virtualenv/util/path/_sync.py:46]
py310-lint: 295 D copy directory /.../.cache/virtualenv/wheel/3.10/image/1/CopyPipInstall/pip-26.0.1-py3-none-any/pip-26.0.1.dist-info to /.../proj/.tox/py310-lint/lib/python3.10/site-packages/pip-26.0.1.dist-info [virtualenv/util/path/_sync.py:46]
py310-lint: 295 D copy /.../.cache/virtualenv/wheel/3.10/image/1/CopyPipInstall/setuptools-82.0.1-py3-none-any/distutils-precedence.pth to /.../proj/.tox/py310-lint/lib/python3.10/site-packages/distutils-precedence.pth [virtualenv/util/path/_sync.py:46]
py310-lint: 296 D copy directory /.../.cache/virtualenv/wheel/3.10/image/1/CopyPipInstall/setuptools-82.0.1-py3-none-any/_distutils_hack to /.../proj/.tox/py310-lint/lib/python3.10/site-packages/_distutils_hack [virtualenv/util/path/_sync.py:46]
py310-lint: 296 D copy directory /.../.cache/virtualenv/wheel/3.10/image/1/CopyPipInstall/setuptools-82.0.1-py3-none-any/setuptools to /.../proj/.tox/py310-lint/lib/python3.10/site-packages/setuptools [virtualenv/util/path/_sync.py:46]
py310-lint: 302 D copy directory /.../.cache/virtualenv/wheel/3.10/image/1/CopyPipInstall/pip-26.0.1-py3-none-any/pip to /.../proj/.tox/py310-lint/lib/python3.10/site-packages/pip [virtualenv/util/path/_sync.py:46]
py310-lint: 334 D copy directory /.../.cache/virtualenv/wheel/3.10/image/1/CopyPipInstall/setuptools-82.0.1-py3-none-any/setuptools-82.0.1.dist-info to /.../proj/.tox/py310-lint/lib/python3.10/site-packages/setuptools-82.0.1.dist-info [virtualenv/util/path/_sync.py:46]
py310-lint: 335 D generated console scripts [virtualenv/seed/embed/via_app_data/pip_install/base.py:49]
py310-lint: 338 D copy /.../.cache/virtualenv/wheel/3.10/image/1/CopyPipInstall/pip-26.0.1-py3-none-any/pip-26.0.1.virtualenv to /.../proj/.tox/py310-lint/lib/python3.10/site-packages/pip-26.0.1.virtualenv [virtualenv/util/path/_sync.py:46]
py310-lint: 339 D generated console scripts pip3.10 pip-3.10 pip3 pip [virtualenv/seed/embed/via_app_data/pip_install/base.py:49]
py310-lint: 339 I add activators for Bash, CShell, Fish, Nushell, PowerShell, Python [virtualenv/run/session.py:90]
py310-lint: 340 D write /.../proj/.tox/py310-lint/pyvenv.cfg [virtualenv/create/pyenv_cfg.py:41]
py310-lint: 340 D home = /usr/bin [virtualenv/create/pyenv_cfg.py:51]
py310-lint: 340 D implementation = CPython [virtualenv/create/pyenv_cfg.py:51]
py310-lint: 340 D version_info = 3.10.12.final.0 [virtualenv/create/pyenv_cfg.py:51]
py310-lint: 340 D version = 3.10.12 [virtualenv/create/pyenv_cfg.py:51]
py310-lint: 340 D executable = /usr/bin/python3.10 [virtualenv/create/pyenv_cfg.py:51]
py310-lint: 340 D command = /.../.virtualenvs/astral/bin/python -m virtualenv /.../proj/.tox/py310-lint [virtualenv/create/pyenv_cfg.py:51]
py310-lint: 340 D virtualenv = 21.2.0 [virtualenv/create/pyenv_cfg.py:51]
py310-lint: 340 D include-system-site-packages = false [virtualenv/create/pyenv_cfg.py:51]
py310-lint: 340 D base-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]
py310-lint: 340 D base-exec-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]
py310-lint: 340 D base-executable = /usr/bin/python3 [virtualenv/create/pyenv_cfg.py:51]
py310-lint: 341 W commands[0]> echo 'got to py3{10-14}-lint from py310-lint (/.../proj/.tox/py310-lint)' [tox/tox_env/api.py:499]
got to py3{10-14}-lint from py310-lint (/.../proj/.tox/py310-lint)
py310-lint: 343 I exit 0 (0.00 seconds) /.../proj> echo 'got to py3{10-14}-lint from py310-lint (/.../proj/.tox/py310-lint)' pid=246905 [tox/execute/api.py:311]
py3.10-lint: 344 W remove tox env folder /.../proj/.tox/py3.10-lint [tox/tox_env/api.py:376]
py310-lint: OK ✔ in 0.1 seconds
py3.10-lint: 355 D created app data folder /.../.cache/virtualenv [virtualenv/app_data/__init__.py:65]
py3.10-lint: 356 I find interpreter for spec PythonSpec(major=3, minor=10, free_threaded=False) [python_discovery/_discovery.py:62]
py3.10-lint: 356 I proposed PythonInfo(spec=CPython3.14.3.final.0-64-x86_64, system=/usr/bin/python3.14, exe=/.../.virtualenvs/astral/bin/python3, platform=linux, version='3.14.3 (main, Feb 4 2026, 09:28:29) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:71]
py3.10-lint: 356 D discover PATH[0]=/.../.virtualenvs/astral/bin [python_discovery/_discovery.py:176]
py3.10-lint: 356 D discover PATH[1]=/.../sbin [python_discovery/_discovery.py:176]
py3.10-lint: 356 D discover PATH[2]=/.../bin [python_discovery/_discovery.py:176]
py3.10-lint: 356 D discover PATH[3]=/.../.local/bin [python_discovery/_discovery.py:176]
py3.10-lint: 356 D discover PATH[4]=/.../.cargo/bin [python_discovery/_discovery.py:176]
py3.10-lint: 356 D discover PATH[5]=/usr/local/bin [python_discovery/_discovery.py:176]
py3.10-lint: 356 D discover PATH[6]=/usr/sbin [python_discovery/_discovery.py:176]
py3.10-lint: 358 D discover PATH[7]=/sbin [python_discovery/_discovery.py:176]
py3.10-lint: 360 D discover PATH[8]=/usr/bin [python_discovery/_discovery.py:176]
py3.10-lint: 363 I proposed PathPythonInfo(spec=CPython3.10.12.final.0-64-x86_64, exe=/usr/bin/python3, platform=linux, version='3.10.12 (main, Mar 3 2026, 11:56:32) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:71]
py3.10-lint: 363 D accepted PathPythonInfo(spec=CPython3.10.12.final.0-64-x86_64, exe=/usr/bin/python3, platform=linux, version='3.10.12 (main, Mar 3 2026, 11:56:32) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:75]
py3.10-lint: 364 I create virtual environment via CPython3Posix(dest=/.../proj/.tox/py3.10-lint, clear=False, no_vcs_ignore=False, global=False) [virtualenv/run/session.py:77]
py3.10-lint: 365 D create folder /.../proj/.tox/py3.10-lint/bin [virtualenv/util/path/_sync.py:18]
py3.10-lint: 365 D create folder /.../proj/.tox/py3.10-lint/include [virtualenv/util/path/_sync.py:18]
py3.10-lint: 365 D create folder /.../proj/.tox/py3.10-lint/lib/python3.10/site-packages [virtualenv/util/path/_sync.py:18]
py3.10-lint: 365 D write /.../proj/.tox/py3.10-lint/pyvenv.cfg [virtualenv/create/pyenv_cfg.py:41]
py3.10-lint: 365 D home = /usr/bin [virtualenv/create/pyenv_cfg.py:51]
py3.10-lint: 365 D implementation = CPython [virtualenv/create/pyenv_cfg.py:51]
py3.10-lint: 365 D version_info = 3.10.12.final.0 [virtualenv/create/pyenv_cfg.py:51]
py3.10-lint: 365 D version = 3.10.12 [virtualenv/create/pyenv_cfg.py:51]
py3.10-lint: 365 D executable = /usr/bin/python3.10 [virtualenv/create/pyenv_cfg.py:51]
py3.10-lint: 365 D command = /.../.virtualenvs/astral/bin/python -m virtualenv /.../proj/.tox/py3.10-lint [virtualenv/create/pyenv_cfg.py:51]
py3.10-lint: 365 D virtualenv = 21.2.0 [virtualenv/create/pyenv_cfg.py:51]
py3.10-lint: 365 D include-system-site-packages = false [virtualenv/create/pyenv_cfg.py:51]
py3.10-lint: 365 D base-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]
py3.10-lint: 365 D base-exec-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]
py3.10-lint: 365 D base-executable = /usr/bin/python3 [virtualenv/create/pyenv_cfg.py:51]
py3.10-lint: 365 D symlink /usr/bin/python3 to /.../proj/.tox/py3.10-lint/bin/python [virtualenv/util/path/_sync.py:38]
py3.10-lint: 365 D create virtualenv import hook file /.../proj/.tox/py3.10-lint/lib/python3.10/site-packages/_virtualenv.pth [virtualenv/create/via_global_ref/api.py:118]
py3.10-lint: 365 D create /.../proj/.tox/py3.10-lint/lib/python3.10/site-packages/_virtualenv.py [virtualenv/create/via_global_ref/api.py:121]
py3.10-lint: 365 D ============================== target debug ============================== [virtualenv/run/session.py:79]
py3.10-lint: 365 D debug via /.../proj/.tox/py3.10-lint/bin/python /.../.virtualenvs/astral/lib/python3.14/site-packages/virtualenv/create/debug.py [virtualenv/create/creator.py:263]
py3.10-lint: 365 D {
"sys": {
"executable": "/.../proj/.tox/py3.10-lint/bin/python",
"_base_executable": "/.../proj/.tox/py3.10-lint/bin/python",
"prefix": "/.../proj/.tox/py3.10-lint",
"base_prefix": "/usr",
"real_prefix": null,
"exec_prefix": "/.../proj/.tox/py3.10-lint",
"base_exec_prefix": "/usr",
"path": [
"/usr/lib/python310.zip",
"/usr/lib/python3.10",
"/usr/lib/python3.10/lib-dynload",
"/.../proj/.tox/py3.10-lint/lib/python3.10/site-packages"
],
"meta_path": [
"<class '_virtualenv._Finder'>",
"<class '_frozen_importlib.BuiltinImporter'>",
"<class '_frozen_importlib.FrozenImporter'>",
"<class '_frozen_importlib_external.PathFinder'>"
],
"fs_encoding": "utf-8",
"io_encoding": "utf-8"
},
"version": "3.10.12 (main, Mar 3 2026, 11:56:32) [GCC 11.4.0]",
"makefile_filename": "/usr/lib/python3.10/config-3.10-x86_64-linux-gnu/Makefile",
"os": "<module 'os' from '/usr/lib/python3.10/os.py'>",
"site": "<module 'site' from '/usr/lib/python3.10/site.py'>",
"datetime": "<module 'datetime' from '/usr/lib/python3.10/datetime.py'>",
"math": "<module 'math' (built-in)>",
"json": "<module 'json' from '/usr/lib/python3.10/json/__init__.py'>"
} [virtualenv/run/session.py:80]
py3.10-lint: 388 I add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, via=copy, app_data_dir=/.../.cache/virtualenv) [virtualenv/run/session.py:84]
py3.10-lint: 389 D got embed update of distribution pip from /.../.cache/virtualenv/wheel/3.10/embed/3/pip.json [virtualenv/app_data/via_disk_folder.py:139]
py3.10-lint: 389 D got embed update of distribution setuptools from /.../.cache/virtualenv/wheel/3.10/embed/3/setuptools.json [virtualenv/app_data/via_disk_folder.py:139]
py3.10-lint: 390 D using periodically updated wheel /.../.cache/virtualenv/wheel/house/setuptools-82.0.1-py3-none-any.whl [virtualenv/seed/wheels/periodic_update.py:55]
py3.10-lint: 390 D install pip from wheel /.../.virtualenvs/astral/lib/python3.14/site-packages/virtualenv/seed/wheels/embed/pip-26.0.1-py3-none-any.whl via CopyPipInstall [virtualenv/seed/embed/via_app_data/via_app_data.py:65]
py3.10-lint: 390 D install setuptools from wheel /.../.cache/virtualenv/wheel/house/setuptools-82.0.1-py3-none-any.whl via CopyPipInstall [virtualenv/seed/embed/via_app_data/via_app_data.py:65]
py3.10-lint: 391 D copy directory /.../.cache/virtualenv/wheel/3.10/image/1/CopyPipInstall/pip-26.0.1-py3-none-any/pip-26.0.1.dist-info to /.../proj/.tox/py3.10-lint/lib/python3.10/site-packages/pip-26.0.1.dist-info [virtualenv/util/path/_sync.py:46]
py3.10-lint: 391 D copy /.../.cache/virtualenv/wheel/3.10/image/1/CopyPipInstall/setuptools-82.0.1-py3-none-any/setuptools-82.0.1.virtualenv to /.../proj/.tox/py3.10-lint/lib/python3.10/site-packages/setuptools-82.0.1.virtualenv [virtualenv/util/path/_sync.py:46]
py3.10-lint: 392 D copy /.../.cache/virtualenv/wheel/3.10/image/1/CopyPipInstall/setuptools-82.0.1-py3-none-any/distutils-precedence.pth to /.../proj/.tox/py3.10-lint/lib/python3.10/site-packages/distutils-precedence.pth [virtualenv/util/path/_sync.py:46]
py3.10-lint: 392 D copy directory /.../.cache/virtualenv/wheel/3.10/image/1/CopyPipInstall/setuptools-82.0.1-py3-none-any/_distutils_hack to /.../proj/.tox/py3.10-lint/lib/python3.10/site-packages/_distutils_hack [virtualenv/util/path/_sync.py:46]
py3.10-lint: 393 D copy directory /.../.cache/virtualenv/wheel/3.10/image/1/CopyPipInstall/setuptools-82.0.1-py3-none-any/setuptools to /.../proj/.tox/py3.10-lint/lib/python3.10/site-packages/setuptools [virtualenv/util/path/_sync.py:46]
py3.10-lint: 399 D copy directory /.../.cache/virtualenv/wheel/3.10/image/1/CopyPipInstall/pip-26.0.1-py3-none-any/pip to /.../proj/.tox/py3.10-lint/lib/python3.10/site-packages/pip [virtualenv/util/path/_sync.py:46]
py3.10-lint: 431 D copy directory /.../.cache/virtualenv/wheel/3.10/image/1/CopyPipInstall/setuptools-82.0.1-py3-none-any/setuptools-82.0.1.dist-info to /.../proj/.tox/py3.10-lint/lib/python3.10/site-packages/setuptools-82.0.1.dist-info [virtualenv/util/path/_sync.py:46]
py3.10-lint: 432 D generated console scripts [virtualenv/seed/embed/via_app_data/pip_install/base.py:49]
py3.10-lint: 435 D copy /.../.cache/virtualenv/wheel/3.10/image/1/CopyPipInstall/pip-26.0.1-py3-none-any/pip-26.0.1.virtualenv to /.../proj/.tox/py3.10-lint/lib/python3.10/site-packages/pip-26.0.1.virtualenv [virtualenv/util/path/_sync.py:46]
py3.10-lint: 436 D generated console scripts pip pip3.10 pip3 pip-3.10 [virtualenv/seed/embed/via_app_data/pip_install/base.py:49]
py3.10-lint: 436 I add activators for Bash, CShell, Fish, Nushell, PowerShell, Python [virtualenv/run/session.py:90]
py3.10-lint: 437 D write /.../proj/.tox/py3.10-lint/pyvenv.cfg [virtualenv/create/pyenv_cfg.py:41]
py3.10-lint: 437 D home = /usr/bin [virtualenv/create/pyenv_cfg.py:51]
py3.10-lint: 437 D implementation = CPython [virtualenv/create/pyenv_cfg.py:51]
py3.10-lint: 437 D version_info = 3.10.12.final.0 [virtualenv/create/pyenv_cfg.py:51]
py3.10-lint: 437 D version = 3.10.12 [virtualenv/create/pyenv_cfg.py:51]
py3.10-lint: 437 D executable = /usr/bin/python3.10 [virtualenv/create/pyenv_cfg.py:51]
py3.10-lint: 437 D command = /.../.virtualenvs/astral/bin/python -m virtualenv /.../proj/.tox/py3.10-lint [virtualenv/create/pyenv_cfg.py:51]
py3.10-lint: 437 D virtualenv = 21.2.0 [virtualenv/create/pyenv_cfg.py:51]
py3.10-lint: 437 D include-system-site-packages = false [virtualenv/create/pyenv_cfg.py:51]
py3.10-lint: 437 D base-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]
py3.10-lint: 437 D base-exec-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]
py3.10-lint: 437 D base-executable = /usr/bin/python3 [virtualenv/create/pyenv_cfg.py:51]
py3.10-lint: 439 W commands[0]> echo 'got to testenv from py3.10-lint (/.../proj/.tox/py3.10-lint)' [tox/tox_env/api.py:499]
got to testenv from py3.10-lint (/.../proj/.tox/py3.10-lint)
py3.10-lint: 441 I exit 0 (0.00 seconds) /.../proj> echo 'got to testenv from py3.10-lint (/.../proj/.tox/py3.10-lint)' pid=246916 [tox/execute/api.py:311]
py315-lint: 441 W remove tox env folder /.../proj/.tox/py315-lint [tox/tox_env/api.py:376]
py3.10-lint: OK ✔ in 0.1 seconds
py315-lint: 448 D created app data folder /.../.cache/virtualenv [virtualenv/app_data/__init__.py:65]
py315-lint: 448 I find interpreter for spec PythonSpec(major=3, minor=15, free_threaded=False) [python_discovery/_discovery.py:62]
py315-lint: 448 I proposed PythonInfo(spec=CPython3.14.3.final.0-64-x86_64, system=/usr/bin/python3.14, exe=/.../.virtualenvs/astral/bin/python3, platform=linux, version='3.14.3 (main, Feb 4 2026, 09:28:29) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:71]
py315-lint: 448 D discover PATH[0]=/.../.virtualenvs/astral/bin [python_discovery/_discovery.py:176]
py315-lint: 449 D discover PATH[1]=/.../sbin [python_discovery/_discovery.py:176]
py315-lint: 449 D discover PATH[2]=/.../bin [python_discovery/_discovery.py:176]
py315-lint: 449 D discover PATH[3]=/.../.local/bin [python_discovery/_discovery.py:176]
py315-lint: 449 D discover PATH[4]=/.../.cargo/bin [python_discovery/_discovery.py:176]
py315-lint: 449 D discover PATH[5]=/usr/local/bin [python_discovery/_discovery.py:176]
py315-lint: 449 D discover PATH[6]=/usr/sbin [python_discovery/_discovery.py:176]
py315-lint: 451 D discover PATH[7]=/sbin [python_discovery/_discovery.py:176]
py315-lint: 453 D discover PATH[8]=/usr/bin [python_discovery/_discovery.py:176]
py315-lint: 456 I proposed PathPythonInfo(spec=CPython3.10.12.final.0-64-x86_64, exe=/usr/bin/python3, platform=linux, version='3.10.12 (main, Mar 3 2026, 11:56:32) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:71]
py315-lint: 458 D got python info of /usr/bin/python3.15 from /.../.cache/virtualenv/py_info/4/6eaf8b3fa950151befe92b0fa3de67d76a1a00fa12b68ea6140690d2681671ee.json [virtualenv/app_data/via_disk_folder.py:139]
py315-lint: 458 I proposed PathPythonInfo(spec=CPython3.15.0.alpha.7-64-x86_64, exe=/usr/bin/python3.15, platform=linux, version='3.15.0a7 (main, Mar 11 2026, 09:26:01) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:71]
py315-lint: 458 D accepted PathPythonInfo(spec=CPython3.15.0.alpha.7-64-x86_64, exe=/usr/bin/python3.15, platform=linux, version='3.15.0a7 (main, Mar 11 2026, 09:26:01) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:75]
py315-lint: 459 I create virtual environment via CPython3Posix(dest=/.../proj/.tox/py315-lint, clear=False, no_vcs_ignore=False, global=False) [virtualenv/run/session.py:77]
py315-lint: 459 D create folder /.../proj/.tox/py315-lint/bin [virtualenv/util/path/_sync.py:18]
py315-lint: 459 D create folder /.../proj/.tox/py315-lint/include [virtualenv/util/path/_sync.py:18]
py315-lint: 459 D create folder /.../proj/.tox/py315-lint/lib/python3.15/site-packages [virtualenv/util/path/_sync.py:18]
py315-lint: 459 D write /.../proj/.tox/py315-lint/pyvenv.cfg [virtualenv/create/pyenv_cfg.py:41]
py315-lint: 459 D home = /usr/bin [virtualenv/create/pyenv_cfg.py:51]
py315-lint: 459 D implementation = CPython [virtualenv/create/pyenv_cfg.py:51]
py315-lint: 459 D version_info = 3.15.0.alpha.7 [virtualenv/create/pyenv_cfg.py:51]
py315-lint: 459 D version = 3.15.0 [virtualenv/create/pyenv_cfg.py:51]
py315-lint: 459 D executable = /usr/bin/python3.15 [virtualenv/create/pyenv_cfg.py:51]
py315-lint: 459 D command = /.../.virtualenvs/astral/bin/python -m virtualenv /.../proj/.tox/py315-lint [virtualenv/create/pyenv_cfg.py:51]
py315-lint: 459 D virtualenv = 21.2.0 [virtualenv/create/pyenv_cfg.py:51]
py315-lint: 459 D include-system-site-packages = false [virtualenv/create/pyenv_cfg.py:51]
py315-lint: 459 D base-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]
py315-lint: 459 D base-exec-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]
py315-lint: 459 D base-executable = /usr/bin/python3.15 [virtualenv/create/pyenv_cfg.py:51]
py315-lint: 460 D symlink /usr/bin/python3.15 to /.../proj/.tox/py315-lint/bin/python [virtualenv/util/path/_sync.py:38]
py315-lint: 460 D create virtualenv import hook file /.../proj/.tox/py315-lint/lib/python3.15/site-packages/_virtualenv.pth [virtualenv/create/via_global_ref/api.py:118]
py315-lint: 460 D create /.../proj/.tox/py315-lint/lib/python3.15/site-packages/_virtualenv.py [virtualenv/create/via_global_ref/api.py:121]
py315-lint: 460 D ============================== target debug ============================== [virtualenv/run/session.py:79]
py315-lint: 460 D debug via /.../proj/.tox/py315-lint/bin/python /.../.virtualenvs/astral/lib/python3.14/site-packages/virtualenv/create/debug.py [virtualenv/create/creator.py:263]
py315-lint: 460 D {
"sys": {
"executable": "/.../proj/.tox/py315-lint/bin/python",
"_base_executable": "/usr/bin/python3.15",
"prefix": "/.../proj/.tox/py315-lint",
"base_prefix": "/usr",
"real_prefix": null,
"exec_prefix": "/.../proj/.tox/py315-lint",
"base_exec_prefix": "/usr",
"path": [
"/usr/lib/python315.zip",
"/usr/lib/python3.15",
"/usr/lib/python3.15/lib-dynload",
"/.../proj/.tox/py315-lint/lib/python3.15/site-packages"
],
"meta_path": [
"<class '_virtualenv._Finder'>",
"<class '_frozen_importlib.BuiltinImporter'>",
"<class '_frozen_importlib.FrozenImporter'>",
"<class '_frozen_importlib_external.PathFinder'>"
],
"fs_encoding": "utf-8",
"io_encoding": "utf-8"
},
"version": "3.15.0a7 (main, Mar 11 2026, 09:26:01) [GCC 11.4.0]",
"makefile_filename": "/usr/lib/python3.15/config-3.15-x86_64-linux-gnu/Makefile",
"os": "<module 'os' (frozen)>",
"site": "<module 'site' (frozen)>",
"datetime": "<module 'datetime' from '/usr/lib/python3.15/datetime.py'>",
"math": "<module 'math' (built-in)>",
"json": "<module 'json' from '/usr/lib/python3.15/json/__init__.py'>"
} [virtualenv/run/session.py:80]
py315-lint: 485 I add seed packages via FromAppData(download=False, pip=bundle, via=copy, app_data_dir=/.../.cache/virtualenv) [virtualenv/run/session.py:84]
py315-lint: 486 D install pip from wheel /.../.virtualenvs/astral/lib/python3.14/site-packages/virtualenv/seed/wheels/embed/pip-26.0.1-py3-none-any.whl via CopyPipInstall [virtualenv/seed/embed/via_app_data/via_app_data.py:65]
py315-lint: 487 D copy directory /.../.cache/virtualenv/wheel/3.15/image/1/CopyPipInstall/pip-26.0.1-py3-none-any/pip-26.0.1.dist-info to /.../proj/.tox/py315-lint/lib/python3.15/site-packages/pip-26.0.1.dist-info [virtualenv/util/path/_sync.py:46]
py315-lint: 490 D copy directory /.../.cache/virtualenv/wheel/3.15/image/1/CopyPipInstall/pip-26.0.1-py3-none-any/pip to /.../proj/.tox/py315-lint/lib/python3.15/site-packages/pip [virtualenv/util/path/_sync.py:46]
py315-lint: 504 D copy /.../.cache/virtualenv/wheel/3.15/image/1/CopyPipInstall/pip-26.0.1-py3-none-any/pip-26.0.1.virtualenv to /.../proj/.tox/py315-lint/lib/python3.15/site-packages/pip-26.0.1.virtualenv [virtualenv/util/path/_sync.py:46]
py315-lint: 505 D generated console scripts pip pip-3.15 pip3 pip3.15 [virtualenv/seed/embed/via_app_data/pip_install/base.py:49]
py315-lint: 505 I add activators for Bash, CShell, Fish, Nushell, PowerShell, Python [virtualenv/run/session.py:90]
py315-lint: 506 D write /.../proj/.tox/py315-lint/pyvenv.cfg [virtualenv/create/pyenv_cfg.py:41]
py315-lint: 506 D home = /usr/bin [virtualenv/create/pyenv_cfg.py:51]
py315-lint: 506 D implementation = CPython [virtualenv/create/pyenv_cfg.py:51]
py315-lint: 506 D version_info = 3.15.0.alpha.7 [virtualenv/create/pyenv_cfg.py:51]
py315-lint: 506 D version = 3.15.0 [virtualenv/create/pyenv_cfg.py:51]
py315-lint: 506 D executable = /usr/bin/python3.15 [virtualenv/create/pyenv_cfg.py:51]
py315-lint: 506 D command = /.../.virtualenvs/astral/bin/python -m virtualenv /.../proj/.tox/py315-lint [virtualenv/create/pyenv_cfg.py:51]
py315-lint: 506 D virtualenv = 21.2.0 [virtualenv/create/pyenv_cfg.py:51]
py315-lint: 506 D include-system-site-packages = false [virtualenv/create/pyenv_cfg.py:51]
py315-lint: 506 D base-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]
py315-lint: 506 D base-exec-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]
py315-lint: 506 D base-executable = /usr/bin/python3.15 [virtualenv/create/pyenv_cfg.py:51]
py315-lint: 507 W commands[0]> echo 'got to testenv from py315-lint (/.../proj/.tox/py315-lint)' [tox/tox_env/api.py:499]
got to testenv from py315-lint (/.../proj/.tox/py315-lint)
py315-lint: 510 I exit 0 (0.00 seconds) /.../proj> echo 'got to testenv from py315-lint (/.../proj/.tox/py315-lint)' pid=246925 [tox/execute/api.py:311]
py310: OK (0.13=setup[0.13]+cmd[0.00] seconds)
py310-lint: OK (0.10=setup[0.09]+cmd[0.00] seconds)
py3.10-lint: OK (0.10=setup[0.10]+cmd[0.00] seconds)
py315-lint: OK (0.07=setup[0.07]+cmd[0.00] seconds)
congratulations :) (0.42 seconds)
+-zsh:119> tox -c tox-test.ini -rvv -e py310-unknown
ROOT: 120 E HandledError| provided environments not found in configuration file:
py310-unknown [tox/run.py:26]