写好了代码,交付给他人使用的时候,查看代码固然可以了解各类和函数的功能细节,但接口文档能更方便的查找和说明功能。所以,一价与代码同步的接口文档是很有必要的。sphinx可以根据python中的注释,自动的生成接口文档,这样有利于保证文档和代码功能的同步。让我们来了解如何自动生成文档。
1 | class A: |
看到类和函数中,都加入了注释。
- 安装shpinx
1
pip install sphinx -i https://pypi.doubanio.com/simple --trusted-host pypi.doubanio.com
使用国内的镜像安装比较快。
- 配置shpinx
1
2
3
4
5
6
7
8
9
10
11$ cd myproject
$ sphinx-quickstart
Enter the root path for documentation.
> Root path for the documentation [.]: doc
> Project name: XXX
> Author name(s): XXX
> Project version []: 1.0
> Project release [1.0]:
> Project language [en]: zh_CN #如果注释中有中文,这里必须设置。否则生成接口文档出错。
> autodoc: automatically insert docstrings from modules (y/n) [n]: y
其它项都选择默认
完成之后,会在当前目录创建 doc 目录,所有sphinx相关的文件都在 doc目录下。
1 | $ ls doc/ |
生成的html文档,在doc/_build/html里。
sphinx对仅工作在python2.7 或python3上。当文件中有中文时,可能会报错:’ascii’ codec can’t decode byte 0xe2 in position xxx。可以在报错的地方加入:
1 | import sys |