Python sphinx Readthedocs不显示文档字符串文档

Python sphinx Readthedocs不显示文档字符串文档,python-sphinx,read-the-docs,autodoc,Python Sphinx,Read The Docs,Autodoc,我遵循了Readthedocs的入门指南,并使用Sphinx和autodoc为我的Python包在上创建了文档。(文档相关的.rst文件位于docs文件夹中) readthedoc生成已通过,并在上找到 Readthedocs没有显示任何作为我代码一部分的docstring文档,但对我来说,一切看起来都应该如此。为什么不呢?Autodoc是一个Sphinx扩展,它在生成时查看.rst文件中的automodule指令引用,导入并标识Python代码,然后将其docstring转换为html 由于您

我遵循了Readthedocs的入门指南,并使用Sphinx和autodoc为我的Python包在上创建了文档。(文档相关的.rst文件位于docs文件夹中)

readthedoc生成已通过,并在上找到


Readthedocs没有显示任何作为我代码一部分的docstring文档,但对我来说,一切看起来都应该如此。为什么不呢?

Autodoc是一个Sphinx扩展,它在生成时查看.rst文件中的automodule指令引用,导入并标识Python代码,然后将其docstring转换为html

由于您的模块未安装到带有
setup.py
的环境中, 它需要手动导入您的模块,因此您需要在
conf.py
中提供sphinx上下文:

导入操作系统
导入系统
#Sphinx文件的位置
sys.path.insert(0,os.path.abspath('./../....'))
在本例中,顶级模块的绝对路径比conf.py文件高2级

在此之后,您可以将autodoc指令文件添加回,它应该会显示出来

Welcome to artery.fe's documentation!
=====================================

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

    arteryfe
    getting_started
    tutorial
    theory
    numerical
如果您想要进行环境安装,您必须勾选ReadTheDocs使用虚拟环境和使用站点包的选项


增编: 这是另一种方法,如果您有多个包,这将非常有用

在较大的代码库中,使用Autodoc指令手动创建文件可能会有问题,因此我们有-它是对Autodoc扩展的补充

这意味着您可以使用首选选项运行sphinx apidoc,它将使用automodule指令从您的docString生成.rst文件,然后生成html。但是,这也可以在RTD的构建期间通过
conf.py
完成

例如,这将使Sphinx在构建期间在
/source/\u autogen
中生成一个automodule
arteryfe.rst
文件:

导入操作系统
导入系统
#Sphinx文件的位置
sys.path.insert(0,os.path.abspath('./../....'))
导入sphinx.apidoc
def设置(应用程序):
sphinx.apidoc.main(['-f',#覆盖现有文件
'-T',#创建目录
#“-e”,为模块提供自己的页面
“-E”,#用户文档字符串标题
#'-M',#模块优先
'-o',#将文件输出到:
“./source/_autogen/”,#输出目录
“../../arteryfe”,#主模块目录
]
)
之后,只需将所有autogen输出整合到目录树中即可

Welcome to artery.fe's documentation!
=====================================

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

    getting_started
    tutorial
    theory
    numerical

.. toctree::
    :maxdepth: 2
    :glob:
    :caption: Code:

    _autogen/*
由于为apidoc制作模板比较复杂,所以灵活性稍差。它仍然是一个有效的解决方案,在某些情况下非常有用(例如,巨大的代码库)

我已经为apidoc多个包涂鸦了