Итак, через несколько часов я обнаружил причину ошибки в моем приложении. Источник моего приложения структурирован как:
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)
in folderA/fileB.py
У меня есть этот код:
from fileA import *
Проблема в том, что файл A импортируется дважды. Однако я хочу импортировать его только один раз.
Очевидный способ исправить это (по крайней мере для меня) - это изменить некоторые пути с path
на folderA.path
Но я чувствую, что в Python вообще не должно быть этой ошибки. Какие есть другие обходные пути, которые не требуют, чтобы каждый файл знал свое абсолютное местоположение?