使用Sphinx Autodoc时模拟内部模块

时间:2017-04-14 15:29:16

标签: python python-sphinx

我的python包有一个名为settings.py的模块,用于查找settings.ini文件,如果找不到,则会引发异常。

我的软件包工作正常,但是当我尝试使用Sphinx Autodoc时,它失败了,因为它无法找到设置文件。

我有什么选择来解决这个问题?我能想到的是

  1. 将一个settings.ini文件放在一个Sphinx目录中,以便可以读取。
  2. 如果可能,以某种方式模拟内部设置模块。设置模块并不重要,所以我不在乎是否没有文件可供
  3. 使用

    在尝试在需要外部文件的软件包上生成Sphinx文档时是否有人遇到过类似问题?如果是,那么您的解决方案是什么?

1 个答案:

答案 0 :(得分:1)

Pyramid有一个命令行脚本pserve,用于加载.ini设置文件。

要记录此脚本,我们使用autoprogram,如下所示:

.. autoprogram:: pyramid.scripts.pserve:PServeCommand.parser
    :prog: pserve

和您的conf.py

extensions = [
...
    'sphinxcontrib.autoprogram',
...
]

它需要在您的脚本中使用argparse