我尝试使用sphinx
(与autodoc
和numpydoc
一起)来记录我的模块,但在基本设置之后,运行make html
会产生只是包含docstrings的基本html。我正在运行Python 3.3,项目结构的大纲如下:
Kineticlib
|--docs
| |--build
| |--source
| | |--conf.py
|--src
| |--kineticmulti
| | |--__init__.py
| | |--file1.py
| | |--file2.py
|--setup.py
__init__.py
为空,在conf.py
目录的docs/source
我已添加sys.path.insert(0, os.path.abspath('../..'))
在make html
目录中运行docs
会得到以下输出:
sphinx-build -b html -d build/doctrees source build/html
Running Sphinx v1.2.2
loading pickled environment... done
building [html]: targets for 0 source files that are out of date
updating environment: 0 added, 0 changed, 0 removed
looking for now-outdated files... none found
no targets are out of date.
Build finished. The HTML pages are in build/html.
那么,我做错了什么?
答案 0 :(得分:5)
您是否在docs / source目录中运行了sphinx-apidoc?这将生成用于制作html的.rst文件。来自man sphinx-apidoc
,
sphinx-apidoc [options] -o <outputdir> <sourcedir> [pathnames ...]
您需要(至少)包含outputdir
(.rst文件将去,./应该有效)和应该指向您的包裹的sourcedir
(看起来像../../src/kineticmulti应该工作)
答案 1 :(得分:0)
正如您所说的,您应该这样做:
sphinx-apidoc [options] -o <outputdir> <sourcedir> [pathnames ...]
有时还需要修改conf.py以导入一些源模块。以及在类中添加一些文档以加载其方法文档(仅对私有分类适用,但我坚持这样做)。