Python: импортировать модуль из другого каталога на том же уровне в иерархии проекта

Я видел много разных примеров и других подобных вопросов, но я могуКажется, я не нашел пример, который точно соответствует моему сценарию. Я чувствую себя полным дураком, спрашивающим об этом, потому что есть так много похожих вопросов, но я просто могукажется, это работает "правильно." Вот мой проект:

user_management  (package)
        |
        |------- __init__.py
        |
        |------- Modules/
        |           |
        |           |----- __init__.py
        |           |----- LDAPManager.py
        |           |----- PasswordManager.py
        |
        |------- Scripts/
        |           |
        |           |----- __init__.py
        |           |----- CreateUser.py
        |           |----- FindUser.py

Если я переедуCreateUser.py» в основной каталог user_management, я могу легко использовать:"import Modules.LDAPManager" импортировать LDAPManager.py --- это работает. Что я могу'сделать (что я хочу сделать), это сохранить CreateUser.py в подпапке Scripts и импортировать LDAPManager.py. Я надеялся сделать это с помощью"import user_management.Modules.LDAPManager.py", Это нет работа. Короче говоря, я могу сделать так, чтобы файлы Python смотрелись глубже в иерархии, но я могуполучить скрипт Python для ссылки на один каталог и вниз на другой.

Обратите внимание, что я могу решить мою проблему, используя:

sys.path.append(os.path.join(os.path.dirname(__file__), '..'))
import Modules.LDAPManager as LDAPManager

Я слышал, что это плохая практика и обескуражен.

Файлы в скриптах предназначены для непосредственного выполнения (этов этом.py в скриптах вообще надо?). Я'Я читал, что в этом случае я должен выполнить CreateUser.py с флагом -m. Я'Я попробовал несколько вариантов этого и просто могуПохоже, что CreateUser.py распознает LDAPManager.py.

Ответы на вопрос(3)

Ваш ответ на вопрос