我正在尝试使用Sphinx1.4和sphinx-apidoc以及sphinx.ext.autodoc扩展为我的python类生成文档。我有很多模块,我希望每个模块只显示类名,而不是类中方法的完整列表(我的代码中都有文档字符串)。这是我的conf.py文件的片段:sys.path.insert(0,'/blah/sphinx/src')extensions=['sphinx.ext.autodoc']autodoc_member_order='bysource'autodoc_default_flags=['no-members']这是一个玩具模块(my_module.py),我用它来了
我目前正在将所有现有(不完整)文档迁移到Sphinx.问题是文档使用了Pythondocstrings(该模块是用C语言编写的,但它可能并不重要)并且必须将类文档转换为可用于Sphinx的形式。有sphinx.ext.autodoc,但它会自动将当前文档字符串放入文档中。我想根据当前的文档字符串在(RST)中生成一个源文件,然后我可以手动编辑和改进它。您如何将文档字符串转换为Sphinx的RST? 最佳答案 autodoc确实会生成RST,只是没有正式的方法可以从中删除它。最简单的破解方法是更改sphinx.ext.autodo
我使用部分包含Java和Python代码的共享存储库。代码基础以python为主,部分库用java编写。是否有可能解析或预处理Java文档以便使用稍后在Python-Sphinx甚至插件中? 最佳答案 javasphinx(Github)(Documentation)我花了很长时间才找到所有重要的细节来设置它,所以这里有一个简短的说明来解决我所有的麻烦。安装#Recommendworkinginvirtualenvironmentswithlatestpip:mkdirdocs;cddocspython3-mvenvenvsourc
我有一个Python模块,我正在为其编写一个使用Sphinx的教程,包括doctests。这个模块带有一些辅助程序。我想在文档中包含这些帮助程序并且让doctest检查标准输出是否在当前程序版本和文档之间同步。我想我可以使用sh模块或popen来检查给定程序的标准输出,但我希望这些技巧不要出现在文档中,否则非程序员用户肯定会迷路。有什么办法可以实现吗? 最佳答案 doctest模块仅检查可以从python交互式提示运行的语句。可以使用subprocess从python交互式提示调用命令行工具模块:#CreateHelperFunct
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我是一家初创公司的编码新手,我正在Web主机的目录中实现文档搜索。我正在比较Lucene/Solr、Whoosh、Sphinx和Xapian。Whoosh本身就是Python。但我也想听听你的意见。其中哪些有成熟且易于使用和安装的python接口(interface)?(嗖嗖声是显而易见的)不会出现崩溃、瓶颈和其他故障最佳文档界面(我不阅读PHP文档,因
如何在修饰函数的文档中用真实签名替换*args和**kwargs?假设我有以下装饰器和装饰函数:importfunctoolsdefmywrapper(func):@functools.wraps(func)defnew_func(*args,**kwargs):print('WrappingHo!')returnfunc(*args,**kwargs)returnnew_func@mywrapperdefmyfunc(foo=42,bar=43):"""ObscureAddition:paramfoo:bar!:parambar:blabla:return:foo+bar"""ret
更一般地说,如何重命名Sphinx默认元素(例如QuickSearch为Search)?可以吗? 最佳答案 以下是如何通过覆盖模板将“快速搜索”更改为其他内容:创建一个名为templates的文件夹在Sphinx项目目录中。复制/themes/basic/searchbox.html至templates.在conf.py中,添加templates_path=["templates"]在searchbox.html的副本中将“快速搜索”重命名为您想要的任何名称.但我不会这样做。一种更灵活的方法是创建一个gettextMO文件并设置配置
我有带有对象属性的Python类,这些对象属性仅作为运行构造函数的一部分声明,如下所示:classFoo(object):def__init__(self,base):self.basepath=basetemp=[]forruninos.listdir(self.basepath):ifself.foo(run):temp.append(run)self.availableruns=tuple(sorted(temp))如果我现在使用help(Foo)或尝试在Sphinx中记录Foo,self.basepath和self.availableruns属性未显示。这对我们API的用户来说
我正在使用Sphinx来记录我的Python包。当我在我的模块上使用automodule指令时:..automodule::mymodule:members:它打印所有内容,包括文档字符串中的GPL声明。有什么方法可以告诉Sphinx忽略docstring/GPL还是我应该将其保留在文档中? 最佳答案 我刚才遇到了同样的问题,并通过将许可声明从文档字符串中移到文件顶部的常规注释block中来解决它。例如:#Copyright2013Example,inc.Allrightsreserved.##License...#...#..."
我希望sphinx生成类似于doxygen生成的模块概述,这里是example我找不到sphinx如何做到这一点我可以使用Graphviz生成某种图形,但我找不到一种方法来在图形中获取可点击对象,该对象的操作方式与上述示例相同。有没有什么方法可以直接在sphinx中做到这一点,或者有什么hack可以让它像doxygen模块概述一样工作? 最佳答案 Sphinx有一个内置的extension称为sphinx.ext.inheritance_diagram使用Graphviz。它定义了一个指令:inheritance-diagram。以