Sphinx autodoc дублирует имя модуля и имя функции - PullRequest
0 голосов
/ 01 февраля 2019

У меня есть модуль 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)

, что не является фактическим использованием и завершится ошибкой при вызове.в реальном сценарии.

Есть ли у Сфинкса способ понять это?Или, если не лучший способ структурировать мой модуль так, чтобы размер моего файла оставался небольшим, но при импорте избегать повторяющихся имен?

Спасибо за помощь

...