问题描述
我正在构建一个小程序,但是我试图使其在将来更容易扩展(不需要大量重构)。我正在尝试从未使用过的东西,例如打字。 我有一个小的打字文件,看起来像这样(叫做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 (将#修改为@)