这篇是直接把领导整理的“如何利用sphinx自动为python package生成文档”搬过来的。 他是用jupyter notebook写的,放在公司内网的博客上。 我为了方便自己查阅,就硬搬过来了。最近还在找如何把jupyter notebook直接搬到Hexo blog上,然而还没有找到答案。
安装sphinx
ubuntu下可以用
生成文档
建立文件夹
假设我们的文件结构是这样的
其中jfds是python package对应的文件夹,如果要想在some_path/
下创建名为doc
的documentation文件夹,(和src
并列),那么可以在some_path
打开terminal
, 输入
这样就自动生成了doc
文件夹,包含了创建documentation所需的信息
添加package路径信息
如果jfds并未通过放入site-packages
,加入PYTHONPATH
等方式让python
全局识别的话,如果修改doc
文件夹中的conf.py
, 添加以下行
的目的是找到conf.py
的绝对路径,用os.path.join
将它和../src
合并后就找到了jfds这个package所在的绝对路径。
最后用
将jfds所在的路径加入,之后sphinx
就能够找到jfds
package
生成Documentation HTML
切换到doc
目录,打开terminal
,运行
就能在_build
文件夹找到自动生成的文档
文档编写方式
比较了几种风格,建议采用google
的标准,这样可以让原始的docstring和生成的文档都有不错的可读性,样例见这里。
里面演示了如果编写module
, class
, class method
, function
等的文档。
这里节选一部分展示