我有带有对象属性的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。以
我在阅读sphinx文档页面时讽刺地发现关于var、ivar和cvar之间区别的文档非常缺乏。我想知道是否有人可以解释内联代码中每个不同namespace之间的区别。例子:classfoo(object):""":varstrfirst::ivarstrlast::cvarstrmiddle:"""这些sphinx标签之间的每一个有何不同,我如何知道哪一个是正确的,可以按设计正确使用? 最佳答案 var当然是通用变量。当您不想对正在记录的变量做任何进一步区分时使用它。ivar是一个“实例变量”,或者说是在实例对象(类的实例)上设置的
我正在尝试在Sphinx(版本1.1.2-1)中的多行数学模式中做三件非常基本的事情。即使在数学模式下,也可以将下划线作为变量名的一部分;使用\big、\biggl等定界符组成大括号和圆括号;并将常规文本作为方程式的一部分。注意以下两点。(1)我在Sphinx标记文档的Python代码中使用原始字符串,因此转义字符不需要额外的反斜杠,并且(2)我没有使用内联数学模式,它在Sphinx中是这样分隔的::math:`Somemathstuffgoeshere`regulartextcouldgohere...相反,我正在做多行的东西,通常像LaTeX中的eqnarray:..math::D
我有以下文档字符串:defprogress_bar(progress,length=20):'''Returnsatextualprogressbar.>>>progress_bar(0.6)'[##########--------]':paramprogress:Numberbetween0and1describestheprogress.:typeprogress:float:paramlength:Thelengthoftheprogressbarinchars.Defaultis20.:typelength:int:rtype:string'''有没有办法告诉sphinx将“默
我只想在我的Sphinx文档中包含特定函数的文档字符串。然而,似乎没有选项可以使用http://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html仅显示这些细节而不关联类和函数定义。我已尝试创建一个类,如Show*only*docstringinSphinxdocumentation?中所述但我不确定这如何适应模板。我也尝试过autodoc-process-docstring事件处理程序,但没有成功。因此,而不是我的文档显示(如当前所示):classmodule.MyClass(param)Thisistheclassd
我有一个使用epydoc记录的项目。现在我正在尝试切换到狮身人面像。我为epydocs格式化了我所有的文档字符串,使用B{}、L{}等来加粗、链接等,并使用@param、@return、@raise等来解释输入、输出、异常等。所以现在我改用sphinx,它失去了所有这些功能。是否有一种自动方法可以将针对epydocs格式化的文档字符串转换为针对sphinx格式化的文档字符串? 最佳答案 为了扩展KevinHorn的回答,可以在autodoc-process-docstring触发的事件处理程序中即时翻译文档字符串。事件。下面是一个小
我正在为我的Python模块(使用Sphinx和reST)编写文档,我发现当交叉引用其他Python对象(模块、类、函数等)时,完整的对象名称最终变得令人难以置信长。它通常超过80个字符,我想不惜一切代价避免这种情况。这是一个例子:defexampleFunction():'''Hereisanexampledocstringreferencinganother:class:`module1.module2.module3.module4.module5.ReallyLongExampleClassName`'''问题是,在为ReallyLongExampleClassName类创建文
我正在用Python编写一些数学代码并使用Sphinx生成文档。我知道Sphinx可以处理Python文档字符串中的LaTeX代码;见https://www.sphinx-doc.org/en/master/usage/extensions/math.html#module-sphinx.ext.mathbase.如何创建LaTeX宏,例如\newcommand{\cG}{\mathcal{G}},以在Python文档字符串中使用? 最佳答案 如果您使用MathJax,这里有一个可能的解决方案。我仍在寻找更好的解决方案,但如果您需要