Я работаю над проектом, который требует наличия нескольких модулей с тем же именем. Это представитель экстракт архитектуры, с __init__.py
файлов, чтобы показать, какие папки являются модули:Python: импорт другого модуля с тем же именем
/path1
/ProjectA
__init__.py
/src
__init__.py
/ctrl
__init__.py
somectrl.py
...
/path2
/ProjectA
__init__.py
/src
__init__.py
someclass.py
И в моем классе someclass.py
, я хочу импортировать somectrl.py
так:
from ProjectA.src.ctrl import somectrl
Но импорт не удалось: он говорит мне, что нет ctrl
. Похоже, он просто смотрит на ProjectA
от path2
и полностью игнорирует ProjectA
от path1
! Оба path1
и path2
находятся в моем PYTHONPATH
. Разве они не могут быть достигнуты?
Есть ли чистый выход из этой неприятной ситуации?
За исключением создания пакетов «path1» и «path2» самостоятельно, я не вижу здесь большого количества решений. –
* «Я работаю над проектом, который требует наличия нескольких модулей с тем же именем» * - хорошо, что есть ваша проблема. – jonrsharpe
jonrsharpe - я хорошо знаю, что сама проблема - проблема :) – Rinita