不存在循环依赖时如何解决导入错误

时间:2021-02-24 02:32:50

标签: python python-3.x oop importerror

这是我的导入结构:

inputs.py(它包括用户输入并调用模拟器运行的模拟器)

from simEngine import simulator
# user inputs
simulator(A, B)

simEngine.py

import Building
import ResidentArrivalSetup
def simulator(A, B):
    building = Building(...)
    residentArrival = ResidentArrivalSetup(...)

建筑.py

import inputs
class Building:
    def __init__(self, blaBla)
        self.blaBla = blaBla
        self.residentDic = {}

ResidentArrivalSetup.py

import Resident
import Building
class ResidentArrivalSetup:
    def __init___(self, C):
        self.C = C
        self.building = Building(residentDic) # Class composition
  
    def someMethod(self):
         resident = Resident(K,L,M)

Resident.py

import inputs
  
class Resident:
    def __init__(self, X, Y):
        self.X = X
        self.Y = Y
        self.buildingHeight = inputs.buildingHeight
  1. 当我运行 input.py 时,它会从用户那里获取输入并调用 simulator 函数。
  2. 然后 simulator 调用 BuildingResidentArrivalSetup 类(Building.py 是从 inputs.py 构造的)。
  3. ResidentArrivalSetup 创建一个 Resident 实例。 Building 有一个字典,当我从 Resident 创建一个 Resident 时,我会在其中存储 ResidentArrivalSetup 实例。因此,我通过将 Building 导入 ResidentArrivalSetup 来导入该字典。

当我运行 inputs.py 时,我得到

ImportError: cannot import name 'simulator' from 'simEngine'

我已经将当前路径添加到 sys.path 中。我该如何解决这个问题?

My visual class architecture

0 个答案:

没有答案