ela*_*no7 14

对于那些使用PydanticFastAPI并遇到此错误问题的人。这是答案/sf/answers/4926924621/

  • 对于我(也是 Pydantic 用户)来说,这有帮助:````pip install --force-reinstall Typing-extensions==4.5.0```` (9认同)

Adr*_*son 7

正如人们所说,2个参数issubclass()应该是类,而不是对象的实例.

考虑这个样本:

>>> issubclass( 1, int )
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: issubclass() arg 1 must be a class
>>> issubclass( type(1), int )
True    
>>> isinstance( 1, int )
True
Run Code Online (Sandbox Code Playgroud)

关键是使用type()函数来获取与函数一起使用的实例的类型issubclass(),如另一条注释所述,它等同于调用isinstance()


小智 5

正如 @Domi W 在其中一条评论中建议的那样,这对我有用并解决了我feast抱怨的问题TypeError: issubclass() arg 1 must be a class

pip install --force-reinstall typing-extensions==4.5.0
Run Code Online (Sandbox Code Playgroud)


Fel*_*ing 4

这意味着您不提供类作为 的参数issubclass()。两个参数都必须是类。第二个参数也可以是类的元组。

如果您显示引发此错误的代码,我们可以提供进一步帮助。


文档中:

issubclass(class, classinfo)如果是 的子类(直接或间接),
则返回。类被视为其自身的子类。可能是类对象的元组,在这种情况下,将检查中的每个条目。在任何其他情况下,都会引发异常。trueclassclassinfoclassinfoclassinfoTypeError