我有一个继承QObject的类。 Everyting工作得很好,但当我运行mypy时,我收到错误:
from PyQt5.QtCore import QObject
class ServiceLocator(QObject):
def __init__(self) -> None:
super().__init__()
...
此刻我完全陷入困境。我一直在阅读mypy文档但无法找到错误的位置。
这里是代码:
#!/bin/sh
seen=0
for var in "$JAVA_OPTS" "$JAVA_TOOL_OPTIONS" "$SBT_OPTS"; do
case $var in
*Use*GC*) seen=1; break ;;
esac
done
[ "$seen" = 0 ] && echo "-XX:+UseParallelGC"
干杯。
答案 0 :(得分:1)
为了记录我如何解决这个问题,我将回答我自己的问题。
正如之前的评论所暗示的,错误的产生是因为mypy没有关于QObject的信息。我尝试将.pyi文件添加到来自https://github.com/Ultimaker/Uranium/tree/master/stubs/PyQt5的第三方文件夹中的mypy,或者您可以尝试从源PyQt5构建。
一切正常但是出现了很多其他错误,所以我最终决定在这一行使用#type:ignore并消除错误,直到这个库更好地支持类型提示。
干杯。
答案 1 :(得分:0)
如果mypy没有类的类型信息(在您的情况下由于缺少存根)并且您已启用--disallow-subclassing-any
,则会发生此错误。您可以禁用此标记,添加输入信息,或者,如您所指出的,放置# type: ignore
以使错误无效。