2016-11-15 25 views
2

我有this python package,我想用Sphinx自动生成文档。我已经在每个函数和类中插入了文档字符串。python的狮身人面像autodoc不显示任何东西(在readthedocs上)

我在ReadTheDocs上创建了一个帐户,并做了相应的设置(即docs/ dir和conf.py文件)。然后,基本上,我已经尝试了几乎所有的东西:autodoc::,autofunction::,autoclass::;我尝试使用相同的conf.py文件作为记录API的其他软件包(当然,根据我的情况做出特定更改);但它只是不工作,在API页面仍然无情地空...

+0

如果你进入RTD的生成页面('https://readthedocs.org/projects/ <你的项目>/builds /'),你有任何反馈吗?你是如何产生'api.rst'的?我觉得这对于初始设置很有用:https://jeffknupp.com/blog/2013/08/16/open-sourcing-a-python-project-the-right-way/ – jonrsharpe

+0

感谢这个非常有帮助的链接!然而,即使我试图重现这些步骤,并试图从头开始构建文档,但它仍然没有显示任何内容。最糟糕的部分是,当我运行makefile时(使用命令'make html',它显示没有特别的错误,并且没有任何与我试图记录的软件包有关的内容...)。我无法弄清楚为什么!至于我的'api.rst'文件,它只是通过创建第一个文档并插入一些'..autoclass ::'指令而生成的。无论如何谢谢你的回答! –

+0

这可能是问题,你有没有考虑让狮身人面像生成文档,而不是试图自己做? – jonrsharpe

回答

0

尝试将此添加到您的conf.py:

########### TRICK FOUND ON SOME TUTORIAL : ADD IN THE MOCK_MODULES ANY EXTERNAL MODULE YOU'RE USING IN YOUR PACKAGE. 

import mock 

MOCK_MODULES = ['numpy', 'scipy', 'sklearn', 'matplotlib', 'matplotlib.pyplot', 'scipy.interpolate', 'scipy.special', 'math', '__future__', 'toolboxutilities'] 
for mod_name in MOCK_MODULES: 
    sys.modules[mod_name] = mock.Mock() 

在MOCK_MODULES,添加任何单一的外部输入您的项目使用。我有完全相同的问题,这解决了它。

另外在conf.py,不要忘了加:

sys.path.insert(0, os.path.abspath('../..')) 

在你的情况,你已经拥有了它,但我说出来,万一别人有同样的问题,会看到我的回答。