我开始研究python模块,想记录代码“就地”。因此,我使用sphinx-quickstart在一个子目录中设置了sphinx,从而导致此目录结构(仅显示我编辑的文件):
我的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)
要使自动文档生效,我需要更改什么?
答案 0 :(得分:3)
如果您的类导入到 __init__.py
中,您可能还需要 :imported-members:
,如下所示:
.. automodule:: myproject
:imported-members:
:members:
:undoc-members:
:show-inheritance:
答案 1 :(得分:0)
main
模块位于myproject
软件包中。为了记录main
,您需要满足以下条件:
.. automodule:: myproject.main
:members: