Структура моего проекта выглядит следующим образом:
project/
main.py
sub_a/
class_a.py
__init__.py
utils/
__init__.py
util_a.py
sub_b/
class_b.py
__init__.py
utils/
__init__.py
util_b.py
И в каждом из class_a.py
, class_b.py
есть такой импорт:
from utils import util_a/b
My PYTHONPATH
указывает на sub_a
и sub_b
. Когда я пытаюсь
import class_b
в main.py
, я получаю ImportError:
ImportError: cannot import name util_b
Я использую Python 2.7.
Я понимаю, что ошибка возникает из-за неоднозначности from utils import util_b
, поэтому Python выбирает первый путь, но как я могу переписать импорт, чтобы он работал?
Я не думаю, что изменение PYTHONPATH
является вариантом, так как каждый из sub_a
и sub_b
предполагает, что они являются частью PYTHONPATH
в своем собственном внутреннем импорте. Например, from utils import util_b
в class_b.py
.