This repository was archived by the owner on Nov 11, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 27
This repository was archived by the owner on Nov 11, 2025. It is now read-only.
No module named '_pytest.config.compat' with version 0.12.0 + Python 3.12 #125
Copy link
Copy link
Closed
Description
I'm currently experiencing an error in my Django project with pytest-subtests: ModuleNotFoundError: No module named '_pytest.config.compat'
It only happens with the latest version 0.12.0.
Platform
MacOS M1 Sonoma 14.4
Python 3.12
PyTest Plugins
pytest-cov
pytest-django
pytest-rerunfailures
pytest-xdist
pytest-sugar
pytest-random-order
pytest-timeout
pytest-subtests
PyTest Config in poetry.toml
[tool.pytest.ini_options]
addopts = "-n auto --reruns 2 --timeout 100 --cov"
python_files = ["tests_*.py"]
Traceback
poetry run pytest
Traceback (most recent call last):
File "[venv]/bin/pytest", line 8, in <module>
sys.exit(console_main())
^^^^^^^^^^^^^^
File "[venv]/lib/python3.12/site-packages/_pytest/config/__init__.py", line 195, in console_main
code = main()
^^^^^^
File "[venv]/lib/python3.12/site-packages/_pytest/config/__init__.py", line 153, in main
config = _prepareconfig(args, plugins)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "[venv]/lib/python3.12/site-packages/_pytest/config/__init__.py", line 335, in _prepareconfig
config = pluginmanager.hook.pytest_cmdline_parse(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "[venv]/lib/python3.12/site-packages/pluggy/_hooks.py", line 501, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "[venv]/lib/python3.12/site-packages/pluggy/_manager.py", line 119, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "[venv]/lib/python3.12/site-packages/pluggy/_callers.py", line 138, in _multicall
raise exception.with_traceback(exception.__traceback__)
File "[venv]/lib/python3.12/site-packages/pluggy/_callers.py", line 121, in _multicall
teardown.throw(exception) # type: ignore[union-attr]
^^^^^^^^^^^^^^^^^^^^^^^^^
File "[venv]/lib/python3.12/site-packages/_pytest/helpconfig.py", line 105, in pytest_cmdline_parse
config = yield
^^^^^
File "[venv]/lib/python3.12/site-packages/pluggy/_callers.py", line 102, in _multicall
res = hook_impl.function(*args)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "[venv]/lib/python3.12/site-packages/_pytest/config/__init__.py", line 1141, in pytest_cmdline_parse
self.parse(args)
File "[venv]/lib/python3.12/site-packages/_pytest/config/__init__.py", line 1490, in parse
self._preparse(args, addopts=addopts)
File "[venv]/lib/python3.12/site-packages/_pytest/config/__init__.py", line 1377, in _preparse
self.pluginmanager.load_setuptools_entrypoints("pytest11")
File "[venv]/lib/python3.12/site-packages/pluggy/_manager.py", line 414, in load_setuptools_entrypoints
plugin = ep.load()
^^^^^^^^^
File "[home]/.pyenv/versions/3.12.2/lib/python3.12/importlib/metadata/__init__.py", line 205, in load
module = import_module(match.group('module'))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "[home]/.pyenv/versions/3.12.2/lib/python3.12/importlib/__init__.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
File "<frozen importlib._bootstrap>", line 1310, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
File "[venv]/lib/python3.12/site-packages/_pytest/assertion/rewrite.py", line 178, in exec_module
exec(co, module.__dict__)
File "[venv]/lib/python3.12/site-packages/pytest_subtests/__init__.py", line 1, in <module>
from .plugin import SubTests
File "[venv]/lib/python3.12/site-packages/_pytest/assertion/rewrite.py", line 178, in exec_module
exec(co, module.__dict__)
File "[venv]/lib/python3.12/site-packages/pytest_subtests/plugin.py", line 21, in <module>
from _pytest.config.compat import PathAwareHookProxy
ModuleNotFoundError: No module named '_pytest.config.compat'
Output from pytest-subtest<0.12.0
poetry run pytest
Test session starts (platform: darwin, Python 3.12.2, pytest 8.1.0, pytest-sugar 1.0.0)
Test order randomisation NOT enabled. Enable with --random-order or --random-order-bucket=<bucket_type>
django: version: 5.0.3, settings: sample_app.settings (from ini)
rootdir: [...project dir...]
configfile: pyproject.toml
plugins: timeout-2.2.0, sugar-1.0.0, subtests-0.11.0, random-order-1.1.1, cov-4.1.0, rerunfailures-13.0, django-4.8.0, xdist-3.5.0, Faker-24.0.0
timeout: 100.0s
timeout method: signal
timeout func_only: False
8 workers [517 items]
[...]
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels