-
- Notifications
You must be signed in to change notification settings - Fork 541
Labels
bug:minordoes not affect many people or has no big impactdoes not affect many people or has no big impact
Description
Issue
Consider this pyproject.toml
[project] name = "foo" version = "0.0.1" [build-system] requires = ["setuptools >= 77.0.3"] build-backend = "setuptools.build_meta" [dependency-groups] test = [{include-group = "_pytest"}] _pytest = ["pytest"] [tool.tox] requires = ["tox>=4.26"] env_list = ["3.13"] [tool.tox.env.test] dependency_groups = ["test"] commands = [ ["unit", "python -m pytest -V"] ] When running pip install --group test, pytest is successfully installed.
However, when trying to run tox -f test, tox errors out saying
test: failed with dependency group '-pytest' not found
test: FAIL code 1 (0.04 seconds)
evaluation failed :( (0.11 seconds)
This leads me to believe that group names are not always normalized in tox. However, looking at PEP-735 which states "These keys must be valid non-normalized names, and must be normalized before comparisons." and also looking at the reference implementation, it seems they really should be.
Environment
Provide at least:
- OS: Linux Mint 21
Output of pip list of the host Python, where tox is installed
Package Version ------------- ------- cachetools 6.0.0 chardet 5.2.0 colorama 0.4.6 distlib 0.3.9 filelock 3.18.0 packaging 25.0 pip 24.3.1 platformdirs 4.3.8 pluggy 1.6.0 pyproject-api 1.9.1 tox 4.26.0 virtualenv 20.31.2 Output of running tox
Output of tox -rvv
test: 229 W remove tox env folder /home/xxxxxx/tmp/tox_dep_group_repro/.tox/test [tox/tox_env/api.py:333] .pkg: 251 W remove tox env folder /home/xxxxxx/tmp/tox_dep_group_repro/.tox/.pkg [tox/tox_env/api.py:333] test: 257 I find interpreter for spec PythonSpec(path=/home/xxxxxx/tmp/tox_dep_group_repro/.venv/bin/python) [virtualenv/discovery/builtin.py:76] test: 258 D filesystem is case-sensitive [virtualenv/info.py:27] test: 259 D got python info of /home/xxxxxx/.pyenv/versions/3.13.1/bin/python3.13 from /home/xxxxxx/.local/share/virtualenv/py_info/2/3d3183e8132c1820530140783e1de1b790bfeadf628f4e809c913da0ec231843.json [virtualenv/app_data/via_disk_folder.py:132] test: 259 I proposed PythonInfo(spec=CPython3.13.1.final.0-64, system=/home/xxxxxx/.pyenv/versions/3.13.1/bin/python3.13, exe=/home/xxxxxx/tmp/tox_dep_group_repro/.venv/bin/python, platform=linux, version='3.13.1 (main, Jan 28 2025, 15:47:29) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8) [virtualenv/discovery/builtin.py:83] test: 259 D accepted PythonInfo(spec=CPython3.13.1.final.0-64, system=/home/xxxxxx/.pyenv/versions/3.13.1/bin/python3.13, exe=/home/xxxxxx/tmp/tox_dep_group_repro/.venv/bin/python, platform=linux, version='3.13.1 (main, Jan 28 2025, 15:47:29) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8) [virtualenv/discovery/builtin.py:85] test: 287 I create virtual environment via CPython3Posix(dest=/home/xxxxxx/tmp/tox_dep_group_repro/.tox/test, clear=False, no_vcs_ignore=False, global=False) [virtualenv/run/session.py:52] test: 287 D create folder /home/xxxxxx/tmp/tox_dep_group_repro/.tox/test/bin [virtualenv/util/path/_sync.py:14] test: 287 D create folder /home/xxxxxx/tmp/tox_dep_group_repro/.tox/test/lib/python3.13/site-packages [virtualenv/util/path/_sync.py:14] test: 287 D write /home/xxxxxx/tmp/tox_dep_group_repro/.tox/test/pyvenv.cfg [virtualenv/create/pyenv_cfg.py:35] test: 288 D home = /home/xxxxxx/.pyenv/versions/3.13.1/bin [virtualenv/create/pyenv_cfg.py:40] test: 288 D implementation = CPython [virtualenv/create/pyenv_cfg.py:40] test: 288 D version_info = 3.13.1.final.0 [virtualenv/create/pyenv_cfg.py:40] test: 288 D virtualenv = 20.31.2 [virtualenv/create/pyenv_cfg.py:40] test: 288 D include-system-site-packages = false [virtualenv/create/pyenv_cfg.py:40] test: 288 D base-prefix = /home/xxxxxx/.pyenv/versions/3.13.1 [virtualenv/create/pyenv_cfg.py:40] test: 288 D base-exec-prefix = /home/xxxxxx/.pyenv/versions/3.13.1 [virtualenv/create/pyenv_cfg.py:40] test: 288 D base-executable = /home/xxxxxx/.pyenv/versions/3.13.1/bin/python3.13 [virtualenv/create/pyenv_cfg.py:40] test: 288 D symlink /home/xxxxxx/.pyenv/versions/3.13.1/bin/python3.13 to /home/xxxxxx/tmp/tox_dep_group_repro/.tox/test/bin/python [virtualenv/util/path/_sync.py:34] test: 289 D create virtualenv import hook file /home/xxxxxx/tmp/tox_dep_group_repro/.tox/test/lib/python3.13/site-packages/_virtualenv.pth [virtualenv/create/via_global_ref/api.py:93] test: 289 D create /home/xxxxxx/tmp/tox_dep_group_repro/.tox/test/lib/python3.13/site-packages/_virtualenv.py [virtualenv/create/via_global_ref/api.py:96] test: 290 D ============================== target debug ============================== [virtualenv/run/session.py:54] test: 290 D debug via /home/xxxxxx/tmp/tox_dep_group_repro/.tox/test/bin/python /home/xxxxxx/tmp/tox_dep_group_repro/.venv/lib/python3.13/site-packages/virtualenv/create/debug.py [virtualenv/create/creator.py:215] test: 290 D { "sys": { "executable": "/home/xxxxxx/tmp/tox_dep_group_repro/.tox/test/bin/python", "_base_executable": "/home/xxxxxx/.pyenv/versions/3.13.1/bin/python3.13", "prefix": "/home/xxxxxx/tmp/tox_dep_group_repro/.tox/test", "base_prefix": "/home/xxxxxx/.pyenv/versions/3.13.1", "real_prefix": null, "exec_prefix": "/home/xxxxxx/tmp/tox_dep_group_repro/.tox/test", "base_exec_prefix": "/home/xxxxxx/.pyenv/versions/3.13.1", "path": [ "/home/xxxxxx/.pyenv/versions/3.13.1/lib/python313.zip", "/home/xxxxxx/.pyenv/versions/3.13.1/lib/python3.13", "/home/xxxxxx/.pyenv/versions/3.13.1/lib/python3.13/lib-dynload", "/home/xxxxxx/tmp/tox_dep_group_repro/.tox/test/lib/python3.13/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.13.1 (main, Jan 28 2025, 15:47:29) [GCC 11.4.0]", "makefile_filename": "/home/xxxxxx/.pyenv/versions/3.13.1/lib/python3.13/config-3.13-x86_64-linux-gnu/Makefile", "os": "<module 'os' (frozen)>", "site": "<module 'site' (frozen)>", "datetime": "<module 'datetime' from '/home/xxxxxx/.pyenv/versions/3.13.1/lib/python3.13/datetime.py'>", "math": "<module 'math' from '/home/xxxxxx/.pyenv/versions/3.13.1/lib/python3.13/lib-dynload/math.cpython-313-x86_64-linux-gnu.so'>", "json": "<module 'json' from '/home/xxxxxx/.pyenv/versions/3.13.1/lib/python3.13/json/__init__.py'>" } [virtualenv/run/session.py:55] test: 324 I add seed packages via FromAppData(download=False, pip=bundle, via=copy, app_data_dir=/home/xxxxxx/.local/share/virtualenv) [virtualenv/run/session.py:59] test: 325 D got embed update of distribution pip from /home/xxxxxx/.local/share/virtualenv/wheel/3.13/embed/3/pip.json [virtualenv/app_data/via_disk_folder.py:132] test: 328 D install pip from wheel /home/xxxxxx/tmp/tox_dep_group_repro/.venv/lib/python3.13/site-packages/virtualenv/seed/wheels/embed/pip-25.1.1-py3-none-any.whl via CopyPipInstall [virtualenv/seed/embed/via_app_data/via_app_data.py:51] test: 329 D copy directory /home/xxxxxx/.local/share/virtualenv/wheel/3.13/image/1/CopyPipInstall/pip-25.1.1-py3-none-any/pip to /home/xxxxxx/tmp/tox_dep_group_repro/.tox/test/lib/python3.13/site-packages/pip [virtualenv/util/path/_sync.py:42] test: 419 D copy /home/xxxxxx/.local/share/virtualenv/wheel/3.13/image/1/CopyPipInstall/pip-25.1.1-py3-none-any/pip-25.1.1.virtualenv to /home/xxxxxx/tmp/tox_dep_group_repro/.tox/test/lib/python3.13/site-packages/pip-25.1.1.virtualenv [virtualenv/util/path/_sync.py:42] test: 419 D copy directory /home/xxxxxx/.local/share/virtualenv/wheel/3.13/image/1/CopyPipInstall/pip-25.1.1-py3-none-any/pip-25.1.1.dist-info to /home/xxxxxx/tmp/tox_dep_group_repro/.tox/test/lib/python3.13/site-packages/pip-25.1.1.dist-info [virtualenv/util/path/_sync.py:42] test: 423 D generated console scripts pip-3.13 pip3.13 pip3 pip [virtualenv/seed/embed/via_app_data/pip_install/base.py:45] test: 423 I add activators for Bash, CShell, Fish, Nushell, PowerShell, Python [virtualenv/run/session.py:65] test: 427 D write /home/xxxxxx/tmp/tox_dep_group_repro/.tox/test/pyvenv.cfg [virtualenv/create/pyenv_cfg.py:35] test: 427 D home = /home/xxxxxx/.pyenv/versions/3.13.1/bin [virtualenv/create/pyenv_cfg.py:40] test: 427 D implementation = CPython [virtualenv/create/pyenv_cfg.py:40] test: 427 D version_info = 3.13.1.final.0 [virtualenv/create/pyenv_cfg.py:40] test: 427 D virtualenv = 20.31.2 [virtualenv/create/pyenv_cfg.py:40] test: 427 D include-system-site-packages = false [virtualenv/create/pyenv_cfg.py:40] test: 427 D base-prefix = /home/xxxxxx/.pyenv/versions/3.13.1 [virtualenv/create/pyenv_cfg.py:40] test: 427 D base-exec-prefix = /home/xxxxxx/.pyenv/versions/3.13.1 [virtualenv/create/pyenv_cfg.py:40] test: 427 D base-executable = /home/xxxxxx/.pyenv/versions/3.13.1/bin/python3.13 [virtualenv/create/pyenv_cfg.py:40] test: 428 E failed with dependency group '-pytest' not found [tox/session/cmd/run/single.py:57] test: FAIL code 1 (0.20 seconds) evaluation failed :( (0.28 seconds)Metadata
Metadata
Assignees
Labels
bug:minordoes not affect many people or has no big impactdoes not affect many people or has no big impact