小编rin*_*ngo的帖子

setuptools pyproject.toml 相当于 `python setup.py clean --all`

我要从 迁移setup.pypyproject.toml。安装我的包的命令似乎是相同的,但我找不到pyproject.toml清理构建工件的命令是什么。相当于什么python setup.py clean --all

python setuptools pyproject.toml

10
推荐指数
2
解决办法
1729
查看次数

单一类型的列表不能分配给联合类型的列表

我写了一个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)

python typing pyright pylance

2
推荐指数
1
解决办法
903
查看次数

标签 统计

python ×2

pylance ×1

pyproject.toml ×1

pyright ×1

setuptools ×1

typing ×1