Sphinx 没有从特定目录中找到模块

Sphinx doesn't find the modules from a specific directory

我在 Python 中遇到了 Sphinx 的问题。即使我按照 https://groups.google.com/forum/#!topic/sphinx-users/lO4CeNJQWjg 的说明进行操作,我也无法解决它。

我有 Docs/source 个文件夹,其中包含:

  1. conf.py
  2. index.rst
  3. RstFiles(包含每个模块的 .rst 文件的文件夹)。

在conf.py中我指定abs路径如下: sys.path.insert(0, os.path.abspath('..'))

在 index.rst 中,我通过以下方式调用 RstFiles 文件夹中的所有模块:

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

   BatchDataContainer.rst
   BatchDefaultValues.rst
   BatchTypes.rst

最后,每个.rst文件的内容如下:

BatchDataContainer 
==================
.. automodule:: RstFiles.BatchDataContainer
   :members:

当我 运行 sphinx-build 我得到 2 个主要错误:

D:\hfTools\Projects\Validation-Source\Docs\source\RstFiles\BatchDataContainer.rst: WARNING: document isn't included in any toctree

WARNING: autodoc: failed to import module 'BatchDataContainer' from module 'RstFiles'; the following exception was raised: No module named 'RstFiles'

任何想法可能是错误的,因为我已经尝试了不同的东西但没有任何帮助?

如果 conf.py 位于此目录中,

D:\hfTools\Projects\Validation-Source\Docs\source,

并且项目的 Python 个模块(包括 BatchDataContainer.py)在

D:\hfTools\Projects\Validation-Source\Products,

那么你需要 sys.path.insert(0, os.path.abspath('../..')) 在 conf.py.

automodule 指令也需要更新:

.. automodule:: Products.BatchDataContainer
   :members: