pyfar / gallery

Creative Commons Attribution 4.0 International
2 stars 1 forks source link

Nbmake failing, returning PluginValidationError #26

Closed mberz closed 4 months ago

mberz commented 4 months ago

We're getting this issue on some or all python versions for most recent PRs.

Related #24 or the current main branch: https://app.circleci.com/pipelines/github/pyfar/gallery/90/workflows/fc4b0f29-77c9-4a2e-ae53-4f874497dc50/jobs/431

The same issue has been reported on the nbmake repository https://github.com/treebeardtech/nbmake/issues/119

Full traceback:

Traceback (most recent call last):
  File "/home/circleci/.pyenv/versions/3.9.18/bin/pytest", line 8, in <module>
    sys.exit(console_main())
  File "/home/circleci/.pyenv/versions/3.9.18/lib/python3.9/site-packages/_pytest/config/__init__.py", line 195, in console_main
    code = main()
  File "/home/circleci/.pyenv/versions/3.9.18/lib/python3.9/site-packages/_pytest/config/__init__.py", line 153, in main
    config = _prepareconfig(args, plugins)
  File "/home/circleci/.pyenv/versions/3.9.18/lib/python3.9/site-packages/_pytest/config/__init__.py", line 335, in _prepareconfig
    config = pluginmanager.hook.pytest_cmdline_parse(
  File "/home/circleci/.pyenv/versions/3.9.18/lib/python3.9/site-packages/pluggy/_hooks.py", line 501, in __call__
    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
  File "/home/circleci/.pyenv/versions/3.9.18/lib/python3.9/site-packages/pluggy/_manager.py", line 119, in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
  File "/home/circleci/.pyenv/versions/3.9.18/lib/python3.9/site-packages/pluggy/_callers.py", line 138, in _multicall
    raise exception.with_traceback(exception.__traceback__)
  File "/home/circleci/.pyenv/versions/3.9.18/lib/python3.9/site-packages/pluggy/_callers.py", line 121, in _multicall
    teardown.throw(exception)  # type: ignore[union-attr]
  File "/home/circleci/.pyenv/versions/3.9.18/lib/python3.9/site-packages/_pytest/helpconfig.py", line 105, in pytest_cmdline_parse
    config = yield
  File "/home/circleci/.pyenv/versions/3.9.18/lib/python3.9/site-packages/pluggy/_callers.py", line 102, in _multicall
    res = hook_impl.function(*args)
  File "/home/circleci/.pyenv/versions/3.9.18/lib/python3.9/site-packages/_pytest/config/__init__.py", line 1141, in pytest_cmdline_parse
    self.parse(args)
  File "/home/circleci/.pyenv/versions/3.9.18/lib/python3.9/site-packages/_pytest/config/__init__.py", line 1490, in parse
    self._preparse(args, addopts=addopts)
  File "/home/circleci/.pyenv/versions/3.9.18/lib/python3.9/site-packages/_pytest/config/__init__.py", line 1377, in _preparse
    self.pluginmanager.load_setuptools_entrypoints("pytest11")
  File "/home/circleci/.pyenv/versions/3.9.18/lib/python3.9/site-packages/pluggy/_manager.py", line 415, in load_setuptools_entrypoints
    self.register(plugin, name=ep.name)
  File "/home/circleci/.pyenv/versions/3.9.18/lib/python3.9/site-packages/_pytest/config/__init__.py", line 497, in register
    plugin_name = super().register(plugin, name)
  File "/home/circleci/.pyenv/versions/3.9.18/lib/python3.9/site-packages/pluggy/_manager.py", line 167, in register
    self._verify_hook(hook, hookimpl)
  File "/home/circleci/.pyenv/versions/3.9.18/lib/python3.9/site-packages/pluggy/_manager.py", line 342, in _verify_hook
    raise PluginValidationError(
pluggy._manager.PluginValidationError: Plugin 'nbmake' for hook 'pytest_collect_file'
hookimpl definition: pytest_collect_file(path: str, parent: Any) -> Optional[Any]
Argument(s) {'path'} are declared in the hookimpl but can not be found in the hookspec
mberz commented 4 months ago

Issue has been resolved here: https://github.com/treebeardtech/nbmake/issues/119 Additionally, pytest 8.1.0 has been yanked, so there's no need for any code adaptations on our end.