6

我正在尝试使用sphinx(与autodocand结合使用numpydoc)来记录我的模块,但在基本设置之后,运行make html只生成基本的 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/sourcesys.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.

那么,我做错了什么?

4

2 回答 2

11

您是否在 docs/source 目录中运行 sphinx-apidoc?这将生成用于制作 html 的 .rst 文件。从man sphinx-apidoc,

sphinx-apidoc [options] -o <outputdir> <sourcedir> [pathnames ...]

您需要(至少)包括(outputdir.rst 文件将去哪里,./ 应该可以工作)和sourcedirwhich 应该指向您的包(看起来 ../../src/kineticmulti 应该可以工作)

于 2014-07-23T09:16:56.487 回答
0

正如人们所说,你应该这样做:

sphinx-apidoc [options] -o <outputdir> <sourcedir> [pathnames ...]

有时还需要修改 conf.py 以导入一些源模块。以及向类添加一些文档以加载其方法文档(仅适用于私有类,但我一直坚持这一点)。

于 2019-11-12T21:13:07.060 回答