这篇是直接把领导整理的“如何利用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等的文档。
这里节选一部分展示