Pylance 如何获取动态定义类的类型注释?

phi*_*day 6 python type-hinting visual-studio-code python-typing pylance

from types import ModuleType\nfrom typing import Any, Dict, Tuple, Type, TypeVar\n\nfrom . import default\n\n_T = TypeVar("_T", bound=type)\n\nclass settings_meta(type):\n    def __new__(\n        cls: Type[_T],\n        name: str,\n        bases: Tuple[type, ...],\n        namespace: Dict[str, Any],\n        settings: ModuleType,\n        **kwargs: Any,\n    ) -> _T:\n        from inspect import ismodule\n\n        namespace = {\n            key: val\n            for key, val in vars(settings).items()\n            if not key.startswith("__") and not ismodule(val)\n        }\n        namespace["__annotations__"] = {\n            key: val\n            for key, val in vars(settings)["__annotations__"].items()\n            if key in namespace.keys()\n        }\n        return type.__new__(cls, name, bases, namespace, **kwargs)\n\n    def __call__(self, *args: Any, **kwrags: Any) -> Any:\n        raise RuntimeError\n\nclass settings(metaclass=settings_meta, settings=default):\n    ...\n
Run Code Online (Sandbox Code Playgroud)\n

我想使用settings类。但皮兰斯告诉我reportGeneralTypeIssues

\n

因为注释已经被调用了,但是Pylance不识别。

\n

我知道这个问题只需将其关闭即可解决。Python \xe2\x80\xba 分析:类型检查模式

\n

但我不想把它关掉。

\n

Pylance 如何获取动态定义类的类型注释?

\n