所以几个小时后,我发现了我的应用程序中出现错误的原因。我的应用程序的源结构如下:
main/
__init__.py
folderA/
__init__.py
fileA.py
fileB.py
实际上,还有大约 50 个文件。但这不是重点。在main/__init__.py
,我有这个代码:from folderA.fileA import *
在folderA/__init__.py
我有这个代码:
sys.path.append(pathToFolderA)
在folderA/fileB.py
我有这个代码:
from fileA import *
问题是 fileA 被导入两次。但是,我只想导入一次。
解决这个问题的明显方法(至少对我而言)是将某些路径path
从folderA.path
但我觉得 Python 一开始就不应该出现这个错误。还有哪些其他解决方法不需要每个文件都知道其绝对位置?