我要从 迁移setup.py到pyproject.toml。安装我的包的命令似乎是相同的,但我找不到pyproject.toml清理构建工件的命令是什么。相当于什么python setup.py clean --all?
我写了一个Python代码,如下所示
class A:
pass
class B:
pass
class C:
pass
from typing import TypeVar, Union, Type, Optional, List
test = TypeVar("test", bound=A)
def wow(w: Optional[List[Union[Type["test"], Type[C]]]]):
pass
wow([A]);
Run Code Online (Sandbox Code Playgroud)
Pylance 将该行突出显示wow([A])为错误,所以我想知道是否我写了错误的代码或者 Pylance 是否工作错误。
当我删除 Union 部分时,它工作得很好,所以我认为没有理由仅仅因为我添加了 Union 就应该突出显示代码。但我可能完全错了,所以请教我。
下面是我收到的错误消息
Argument of type "list[Type[A]]" cannot be assigned to parameter "w" of type "List[Type[test@wow] | Type[C]] | None" in function "wow"
Type "list[Type[A]]" cannot be assigned to type "List[Type[test@wow] | Type[C]] | None"
"list[Type[A]]" is incompatible with "List[Type[test@wow] | Type[C]]"
TypeVar …Run Code Online (Sandbox Code Playgroud)