Как правильно структурировать пакет python для нескольких функций?
У меня есть случай, когда мой проект можно разбить на 3 совершенно отдельных логических блока, которые полностью отделены друг от друга. Таким образом, я разбил подпроекты на соответствующие папки в моем проекте python. Это привело к такой файловой структуре:
foobartoo
|_setup.py
|_foobartoo
|_foo
| |_foo.py
|
|_bar
| |_bar.py
|
|_too
|_too.py
Этот метод объединяет, но хорошо разделяет, но после установки я заметил определенную проблему. Единственный способ получить доступ к одному из файлов - это сделать
from foobartoo.foo.foo import <method/class>
или
import foobartoo.foo.foo as <something>
<something>.<method/class>
Это кажется крайне непрактичным.
Я вижу две альтернативы
- удаление системы папок и наличие foo.py, bar.py и too.py в одном каталоге под foobartoo.
Это кажется плохим, потому что невозможно будет узнать, какой файл / код принадлежит какому из проектов
разбиение одного пакета на несколько пакетов.
Это выглядит нормально, но было бы лучше, если бы эти 3 вещи были вместе, поскольку они предназначены для совместного использования.
Я посмотрел на numpy и его исходный код, и каким-то образом они, похоже, имеют много своих функций за многими папками, но им не нужно ссылаться ни на одну из папок. Это кажется идеальным, просто быть в состоянии сделать что-то вроде
import foobartoo
foobartoo.<classname/methodname>()