我有两行代码:
import ui.interface.interface
obj = ui.interface.interface.InterfaceCodes()
我在另一个包中有相同的代码,并且工作正常。但我得到以下回溯:
Traceback (most recent call last):
File "./main.py", line 31, in <module>
from materials.materials import *
File "/home/mohsen/codes/amlak/amlak/src/materials/materials.py", line
40, in <module>
from ui.interface.interface import *
File "/home/mohsen/codes/amlak/amlak/src/ui/interface/interface.py",
line 32, in <module>
from ui.materialsFrame import *
File "/home/mohsen/codes/amlak/amlak/src/ui/materialsFrame.py", line
24, in <module>
from ui.materialsFindFrame import *
File "/home/mohsen/codes/amlak/amlak/src/ui/materialsFindFrame.py",
line 14, in <module>
from common.objects.objects import *
File "/home/mohsen/codes/amlak/amlak/src/common/objects/objects.py",
line 28, in <module>
obj = ui.interface.interface.InterfaceCodes()
AttributeError: 'module' object has no attribute 'interface'
当我将代码更改为:
from ui.interface.interface import *
obj = ui.interface.interface.InterfaceCodes()
我得到了:
Traceback (most recent call last):
File "./main.py", line 31, in <module>
from materials.materials import *
File "/home/mohsen/codes/amlak/amlak/src/materials/materials.py", line
40, in <module>
from ui.interface.interface import *
File "/home/mohsen/codes/amlak/amlak/src/ui/interface/interface.py",
line 32, in <module>
from ui.materialsFrame import *
File "/home/mohsen/codes/amlak/amlak/src/ui/materialsFrame.py", line
24, in <module>
from ui.materialsFindFrame import *
File "/home/mohsen/codes/amlak/amlak/src/ui/materialsFindFrame.py",
line 14, in <module>
from common.objects.objects import *
File "/home/mohsen/codes/amlak/amlak/src/common/objects/objects.py",
line 28, in <module>
Obj = ui.interface.interface.InterfaceCodes()
NameError: name 'ui' is not defined
另外,如果我删除“ ui.interface.interface”,我会得到:
Traceback (most recent call last):
File "./main.py", line 31, in <module>
from materials.materials import *
File "/home/mohsen/codes/amlak/amlak/src/materials/materials.py", line
40, in <module>
from ui.interface.interface import *
File "/home/mohsen/codes/amlak/amlak/src/ui/interface/interface.py",
line 32, in <module>
from ui.materialsFrame import *
File "/home/mohsen/codes/amlak/amlak/src/ui/materialsFrame.py", line
24, in <module>
from ui.materialsFindFrame import *
File "/home/mohsen/codes/amlak/amlak/src/ui/materialsFindFrame.py",
line 14, in <module>
from common.objects.objects import *
File "/home/mohsen/codes/amlak/amlak/src/common/objects/objects.py",
line 28, in <module>
Obj = InterfaceCodes()
NameError: name 'InterfaceCodes' is not defined
我的问题是,真的我不知道该怎么做...!
您似乎有一个循环导入问题。从您的第一个堆栈跟踪的外观来看,
ui.interface.interface
进口ui.materialsFrame
,ui.materialsFrame
进口ui.materialsFindFrame
,ui.materialsFindFrame
进口common.objects.objects
,common.objects.objects
进口ui.interface.interface
,...这已经在导入过程中。由于从一开始就ui.interface.interface
尝试导入ui.materialsFrame
,因此在最后一次导入时尚未包含InterfaceCodes
变量,这就是为什么要获取的原因AttributeError
。
尝试重新设计您的库以摆脱此循环,或者至少尝试在导入时不实际调用函数/构造函数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句