На данный момент (Sphinx 1.4.9), похоже, нет никакого способа сказать Sphinx делать то, что я хочу (см. Проблема на GitHub). Принятый ответ от Brecht Machiels решает проблему другим образом, пока Sphinx не сможет сделать это один день. < /P>
Описание: < /strong> < Br /> Я пытаюсь документировать проект Python с Sphinx-Apidoc. Конфигурация Sphinx почти по умолчанию, я только что включил 'sphinx.ext.autodoc' < /code>. < /P>
работает в целом, но полученные классы не наследуют метод документации из их суперклассов, как я ожидал бы. Помимо пустого __init __. Py он состоит только из одного файла (
Код: Выделить всё
base.py< /code>, см. Ниже) < /p>
# -*- coding: utf-8 -*
import abc
class Superclass(object):
"""The one to rule them all"""
@abc.abstractmethod
def give(self, ring):
"""Give out a ring"""
pass
class Derived(Superclass):
"""Somebody has to do the work"""
def give(self, ring):
print("I pass the ring {} to you".format(ring))
< /code>
Запуск sphinx-apidoc (sphinx-apidoc -o apidoc project -f< /code>) генерирует следующие файлы: < /p>
[list]
[*] apidoc/modules.rst< /code> < /p>
project
=======
.. toctree::
:maxdepth: 4
project
Код: Выделить всё
apidoc/project.rst< /code> < /p>
project package
===============
Submodules
----------
project.base module
-------------------
.. automodule:: project.base
:members:
:undoc-members:
:show-inheritance:
Module contents
---------------
.. automodule:: project
:members:
:undoc-members:
:show-inheritance:
включает в себя apidoc/modules.rst в index.rst по умолчанию. HTML генерирует основную HTML -документацию как для классов, так и для их методов. К сожалению, docstring of drevived.give < /code> пуст. < /P>
Вопрос: < /strong>
Есть ли способ сказать Sphinx Чтобы взять документацию по методу родителей без магии декоратора, как описано в этом сообщении для каждого отдельного метода?
Подробнее здесь: https://stackoverflow.com/questions/405 ... superclass