在python中使用类型输入时出现“类已定义”

问题描述

我正在构建一个小程序,但是我试图使其在将来更容易扩展(不需要大量重构)。我正在尝试从未使用过的东西,例如打字。 我有一个小的打字文件,看起来像这样(叫做Types.py)

mounted() {
 browser.runtime.sendMessage({status: 'startDownload'})
}    

我在from typing import ( Union,Any,Optional ) from typing import ForwardRef as ref CustomLevel = ref("levels.level.CustomLevel") OfficialLevel = ref("levels.level.OfficialLevel") __all__ = ( "Union","Any","Optional","CustomLevel","OfficialLevel",) 下还有一个level.py文件。在文件中,我有一个基类,还有一个./levels/CustomLevel。在level.py的顶部,我正在导入CustomLevel类型。问题是我收到一条错误消息:

OfficialLevel

因为CustomLevel类型的导入与CustomLevel类的定义冲突,就像这样:

class already defined (line 5)

我实际上是使用一个已经存在的库作为一种“指南”。我的意思是我正在查看库的代码,因为我认为这是非常好的代码,并且使用我认为对我的程序有帮助的某些功能(例如键入)。在他们的库中,他们所做的正是我在做什么,他们从键入文件中导入类型,然后创建同名的类。虽然他们没有错误。 库为this。它发生在许多python脚本中,但一小段是comment.py。在文件的顶部,从from ..typings import ( CustomLevel ) class CustomLevel(): #<--- erros here since 'customlevel' is already defined def __init__(self) -> None: pass def somefunc(self) -> CustomLevel: pass 导入gd.typing。下层Comment不会过多地创建为一个类。就像我说的,这个库没有问题。 在他们的typing.py文件中,唯一的额外点是:

Comment

我尝试添加它,但是没有任何区别。我正在使用带有pylint的VSCode,这很可能是这种情况,但此刻我还有其他错误,这些错误使我无法运行脚本进行测试。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)