Python 警告:toctree包含对Sphinx不存在的文档错误的引用

Python 警告:toctree包含对Sphinx不存在的文档错误的引用,python,python-sphinx,toctree,numpydoc,Python,Python Sphinx,Toctree,Numpydoc,几天前,我开始使用Sphinx来记录一个python包,我发现了一个常见错误,但我找不到解决方案 我用狮身人面像快速启动来设置一切。我使用“doc/”作为文档根位置。包含我的软件包的文件夹设置为: myfolder/ doc/ mypackage/ __init__.py moprob.py ... 快速启动后,我将conf.py中的路径编辑为: import os import sys sys.path.insert(0, os

几天前,我开始使用Sphinx来记录一个python包,我发现了一个常见错误,但我找不到解决方案

我用狮身人面像快速启动来设置一切。我使用“doc/”作为文档根位置。包含我的软件包的文件夹设置为:

myfolder/
    doc/
    mypackage/
        __init__.py
        moprob.py
        ...
快速启动后,我将conf.py中的路径编辑为:

import os
import sys
sys.path.insert(0, os.path.abspath('..'))
然后,我将包中的一个脚本添加到index.rst,以了解sphinx的工作原理

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

   mypackage/moprob
我得到的错误代码是:

.../index.rst:9: WARNING: toctree contains reference to nonexisting document u'mypackage/moprob'
我尝试过的解决方案:

  • 将sphinx.ext.napoleon添加到扩展列表中,因为我的所有文档字符串都是使用numpy格式编写的。错误并没有消失。我还将napoleon扩展放在autodoc之后,因为其中一个帮助页面建议这样做

    extensions=['sphinx.ext.autodoc', “斯芬克斯外景拿破仑”]

  • 将numpydoc\u show\u class\u members=False添加到conf.py。我把它直接放在扩展下面。这也无济于事

  • 文件夹位置有两种不同的配置。我还尝试将根位置设置为myfolder,将源位置设置为mypackage,将构建位置设置为doc。没有一个奏效

  • 您有什么想法可以帮助我吗?

    该指令包含对StructuredText文档的引用,而不是对Python脚本或模块的引用。Sphinx希望有一个mypackage/moprob.rst文件(在doc文件夹中),但没有。因此出现了错误

    要快速获得一些有意义的输出,请创建mypackage/moprob.rst文件。在其中添加标题和指令:

    moprob module
    =============
    
    .. automodule:: mypackage.moprob
       :members:
    
    然后再次运行sphinx build