Python中的循环依赖如何解决?

2024-09-22 16:26:53 发布

您现在位置:Python中文网/ 问答频道 /正文

以下是我的项目结构:

MyProject
|
|---- package1
|       |
|       |---- classA needs classXYZ
|       |-----classB needs classXYZ
|       |-----classC
|
|-----package2
|       |
|       |-----classXYZ (path creator)
|
|-----package3
|       |
|       |-----classQ (subclass of classR)
|       |-----classR 
|
|-----package4
|       |
|       |-----classDB needs classXYZ

ClassQ需要classAclassBclassRclassDBclassXYZ,因此,在classQ我有:

    from package1 import classA
    from package1 import classB
    from package2 import classXYZ 
    from package3 import classR
    from package4 import classDB

然而,类classAclassB都使用了classXYZ,这导致在classQ中我得到了错误:Import Error: no module named classR.(类Q继承自类R)。你知道吗

问题是:如何解决这个问题?类Q是一种主类,它使用其他模块中可用的函数来创建一个工作应用程序。任何帮助都将不胜感激。你知道吗


Tags: 项目fromimport结构package2package1needsclassb