Почему в модуле sphinx не отображаются элементы модуля? - PullRequest
1 голос
/ 07 марта 2019

Я начал работать над модулем Python и хотел документировать код "на месте". Поэтому я настроил sphinx в подкаталоге с помощью sphinx-quickstart, что привело к этой структуре каталогов (показаны только файлы, которые я редактировал):

  • MyProject /
    • __ __ INIT. Ру
    • main.py
  • docs / (каталог sphinx)
    • сборка /
    • источник /
      • conf.py
      • index.rst
  • setup.py

Мой index.rst содержит:

Welcome to My Module's documentation!
=====================================

.. toctree::
   :maxdepth: 2
   :caption: Contents:

.. automodule:: myproject
    :members:


Indices and tables
==================

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`

Когда я бегу

make html

я получаю документацию, в которой отсутствует часть автомодуля, хотя я задокументировал каждый класс и каждый метод в main.py следующим образом:

class Thing:
    """This class represents Things

    :param color: how the thing should look like
    """

    def __init__(self, color):
        pass

    def color(self):
        """Tells you the color of the thing.

        :returns: Color string
        :rtype: str or unicode
        """
        pass

Sys.path также настроен правильно, так как теперь выдает ошибку при выполнении

sys.path.insert(0, os.path.abspath('../../'))

Если это уместно, я также включаю setup.py:

from setuptools import setup

setup(name='My Module',
      version='0.1',
      description='Internet of Things',
      url='https://example.com',
      author='Master Yoda',
      author_email='yoda@example.com',
      license='GPLv3',
      packages=['mymodule'],
      zip_safe=False)

Что я могу изменить, чтобы заставить работать autodoc?

1 Ответ

0 голосов
/ 08 марта 2019

Модуль main находится в пакете myproject. Для документирования main необходимо следующее:

.. automodule:: myproject.main
   :members:
...