Как исправить сторонние предупреждения о неоднозначных перекрестных ссылках Sphinx?Python

Программы на Python
Anonymous
Как исправить сторонние предупреждения о неоднозначных перекрестных ссылках Sphinx?

Сообщение Anonymous »

Я пытаюсь документировать различные классы, использующие основы scikit-learn BaseEstimator и TransformerMixin. Sphinx строится с предупреждением о том, что

Код: Выделить всё

/home/jake/github/proj/pkg/__init__.py:docstring of
sklearn.utils._set_output._SetOutputMixin.set_output:6: WARNING: more than one target
found for 'any' cross-reference 'transform': could be
:py:meth:`pkg.Class1.transform` or
:py:meth:`pkg.Class2.transform` or
:py:meth:`pkg.mod.Class3.transform` or
...
Здесь все классы являются подклассами sklearn.base.BaseEstimator и sklearn.base.TransformerMixin, которые являются подклассами sklearn.utils._set_output._SetOutputMixin, чья строка документации set_output включает строку

Код: Выделить всё

Configure output of `transform` and `fit_transform`
Похоже, поскольку _SetOutputMixin является примесью и не имеет метода преобразования для связи, это будет неоднозначно. Тем не менее, Class1.set_output имеет ссылку на Class1.transform` и т. д., поэтому это правильный выбор.
Это sphinx 8.1.3, а не sphinx 8.2.3. Я заметил, что предупреждение исчезло в версии 8.2.3, но не все используемые нами расширения совместимы с версией 8.2. Из этого предложения следует, что нет способа подавить предупреждение до версии 8.2 (и я пробовал с помощью подавления_предупреждений и show_warning_types).
Поскольку я не могу изменить строку документации стороннего производителя (не уверен, что даже знаю, что делать в этом случае), есть ли способ исправить строку документации/наследование моего пакета, чтобы избавиться от этой ошибки?

Вернуться в «Python»