У меня есть модуль python со следующей структурой:
my_mod
|--- __init__.py
|--- mod1
| |---- __init__.py
|---- testA.py
|---- testB.py
|---- testC.py
Внутри каждого testX.py есть одиночная функция с именем testX .Эти функции велики, поэтому, чтобы мои файлы были управляемыми, я разделил testA, B и C.Чтобы избежать необходимости доступа к этим функциям следующим образом:
import my_mod.mod1.testA.testA
Мой mod1/__init__.py
файл имеет следующую структуру:
from .testA import testA
from .testB import testB
from .testC import testC
Таким образом, мои функции теперь доступны как
import my_mod.mod1.testA
Это ведет себя как ожидалось.Однако, когда я перехожу на autodoc мой модуль со Sphinx, документация пропускает эту функцию в __init__
, и я заканчиваю тем, что мои функции документируются как
my_mod.mod1.testA.testA(blah, blah, blah)
, что не является фактическим использованием и завершится ошибкой при вызове.в реальном сценарии.
Есть ли у Сфинкса способ понять это?Или, если не лучший способ структурировать мой модуль так, чтобы размер моего файла оставался небольшим, но при импорте избегать повторяющихся имен?
Спасибо за помощь