pytest-dev / pluggy

A minimalist production ready plugin system
https://pluggy.readthedocs.io/en/latest/
MIT License
1.29k stars 123 forks source link

Version 1.1.0 breaks devpi with "AttributeError: 'PluginManager' object has no attribute '_implprefix'" #402

Closed jrast closed 1 year ago

jrast commented 1 year ago

I noticed that with the latest release of pluggy devpi fails in our CI pipelines:

$ devpi use http://pypi.<redacted>.ch/
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "D:\Gitlab-Runner\builds\QyWNUETU\0\python\lctools\venv\Scripts\devpi.exe\__main__.py", line 7, in <module>
  File "D:\Gitlab-Runner\builds\QyWNUETU\0\python\lctools\venv\Lib\site-packages\devpi\main.py", line 44, in main
    hub, method = initmain(argv)
                  ^^^^^^^^^^^^^^
  File "D:\Gitlab-Runner\builds\QyWNUETU\0\python\lctools\venv\Lib\site-packages\devpi\main.py", line 50, in initmain
    pm = get_pluginmanager()
         ^^^^^^^^^^^^^^^^^^^
  File "D:\Gitlab-Runner\builds\QyWNUETU\0\python\lctools\venv\Lib\site-packages\devpi\main.py", line 63, in get_pluginmanager
    pm._implprefix = "devpiclient_"
    ^^^^^^^^^^^^^^
AttributeError: 'PluginManager' object has no attribute '_implprefix'

Downgrading to pluggy 1.0.0 solves the problem.

jrast commented 1 year ago

This is probably caused by this commit which added slots to many classes: https://github.com/pytest-dev/pluggy/commit/0b45952cf9f8fece53a5efd1cf40466b5714c17f

fschulze commented 1 year ago

I will fix it on the devpi side, the backward compatibility code causing this is from 2018.

RonnyPfannschmidt commented 1 year ago

Closing as downstream bug