从 setup.py 安装 sphinx 编译文档

Install sphinx compilated doc from setup.py

我想安装一些 HTML 使用 sphinx 和 python 代码制作的在线文档(了解从 rSt 编译)到站点包中。我想使用 setup.py.

更具体地说,我想将我的 *.rst 文件编译为 HTML,然后在用户键入 [=12] 时从 setup.py 文件复制到站点包中=].

有人知道怎么做吗?我查看了 sphinx 和 setuptools 文档,但找不到相关信息。

我想这样做的原因是我的包是一个 GUI 工具,HTML 是它的在线帮助。它显示在 GUI 的内部浏览器中。

您可以将它们添加到您的 MANIFEST.in 中,然后构建包

recursive-include docs *

然后和你的蛋一起分发

如前所述,您需要一个 MANIFEST.in 文件来包含文档目录:

recursive-include docs *

现在,在您的 setup.py 中,您可以通过编程方式从 *.rst 文件生成 sphinx 文档。

下面是一个关于如何在 python setup.py install 为 运行 时自动执行此操作的示例:

from distutils.core import setup

# set dependencies, we need sphinx to build doc
dependencies = ['sphinx']

setup(
    name='my_package'
    # rest of your setup
)

# auto-generate documentation
import sphinx

# automatically build html documentation
# For example:
#   format = 'html'
#   sphinx-src-dir = './doc'
#   sphinx-build-dir = './doc/build'
sphinx.build_main(['setup.py', '-b', '<format>', '<sphinx-src-dir>', '<sphinx-build-dir>'])

像这样你可以根据需要运行sphinx-build(Documentation)。

注意:Custom command 添加到 setup.py 以分离文档生成可能是个好主意 (f.e。python setup.py make_doc [params]) 并安装例程 (python setup.py install)。这样用户可以轻松地提供参数 formatsphinx-src-dirsphinx-build-dir.