diff --git a/setuptools/sandbox.py b/setuptools/sandbox.py index 5dedeeb47f..4f8a515b58 100644 --- a/setuptools/sandbox.py +++ b/setuptools/sandbox.py @@ -12,7 +12,7 @@ import tempfile import textwrap from types import TracebackType -from typing import TYPE_CHECKING, ClassVar +from typing import TYPE_CHECKING, Any, ClassVar import pkg_resources from pkg_resources import working_set @@ -406,6 +406,11 @@ def _remap_pair(self, operation, src, dst, *args, **kw): self._remap_input(operation + '-to', dst, *args, **kw), ) + if TYPE_CHECKING: + # This is a catch-all for all the dynamically created attributes. + # This isn't public API anyway + def __getattribute__(self, name: str) -> Any: ... + if hasattr(os, 'devnull'): _EXCEPTIONS = [os.devnull]