Я гонялся за своим хвостом последние 4 часа и не могу найти решение.
У меня есть следующая структура модуля / пакета для моего проекта.
.
├── app-cli.py
├── tools
│ ├── __init__.py
│ ├── adapters
│ │ ├── __init__.py
│ │ ├── cli.py
│ │ ├── web.py
│ ├── utils
│ │ ├── __init__.py
│ │ ├── core.py
│ │ │ ├── my_public_method()
│ │ ├── io.py
│ │ │ ├── some_other_public_method()
То, что я пытаюсь сделать, это связать все внутри utils
в пределах пространства имен utils
.
Так что когда я делаю import tools
на основном уровне, я могу получить доступ к функциям утилит как:
tools.utils.my_public_method()
tools.utils.some_other_public_method()
Вместо:
tools.utils.core.my_public_method()
tools.utils.io.some_other_public_method()
Я редактировал __init__.py
, возиться с уровнями импорта, пытаясь создать ярлык, но безуспешно.