草庐IT

thinking-sphinx

全部标签

python - 有没有办法使用 doctest 和 sphinx 来测试和记录命令行应用程序?

我有一个Python模块,我正在为其编写一个使用Sphinx的教程,包括doctests。这个模块带有一些辅助程序。我想在文档中包含这些帮助程序并且让doctest检查标准输出是否在当前程序版本和文档之间同步。我想我可以使用sh模块或popen来检查给定程序的标准输出,但我希望这些技巧不要出现在文档中,否则非程序员用户肯定会迷路。有什么办法可以实现吗? 最佳答案 doctest模块仅检查可以从python交互式提示运行的语句。可以使用subprocess从python交互式提示调用命令行工具模块:#CreateHelperFunct

python - 在 Lucene/Solr、Whoosh、Sphinx、Xapian 中,哪个与 Python 集成得最好?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我是一家初创公司的编码新手,我正在Web主机的目录中实现文档搜索。我正在比较Lucene/Solr、Whoosh、Sphinx和Xapian。Whoosh本身就是Python。但我也想听听你的意见。其中哪些有成熟且易于使用和安装的python接口(interface)?(嗖嗖声是显而易见的)不会出现崩溃、瓶颈和其他故障最佳文档界面(我不阅读PHP文档,因

python - 在 Sphinx 文档中保留包装/修饰的 Python 函数的默认参数

如何在修饰函数的文档中用真实签名替换*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

python - 您可以在 Sphinx 侧边栏中重命名 "table of contents"吗?

更一般地说,如何重命名Sphinx默认元素(例如QuickSearch为Search)?可以吗? 最佳答案 以下是如何通过覆盖模板将“快速搜索”更改为其他内容:创建一个名为templates的文件夹在Sphinx项目目录中。复制/themes/basic/searchbox.html至templates.在conf.py中,添加templates_path=["templates"]在searchbox.html的副本中将“快速搜索”重命名为您想要的任何名称.但我不会这样做。一种更灵活的方法是创建一个gettextMO文件并设置配置

python - 如何使 Python/Sphinx 文档对象属性仅在 __init__ 中声明?

我有带有对象属性的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的用户来说

python - 如何让 Sphinx 忽略我的文档字符串中的 GPL 通知?

我正在使用Sphinx来记录我的Python包。当我在我的模块上使用automodule指令时:..automodule::mymodule:members:它打印所有内容,包括文档字符串中的GPL声明。有什么方法可以告诉Sphinx忽略docstring/GPL还是我应该将其保留在文档中? 最佳答案 我刚才遇到了同样的问题,并通过将许可声明从文档字符串中移到文件顶部的常规注释block中来解决它。例如:#Copyright2013Example,inc.Allrightsreserved.##License...#...#..."

python - sphinx 生成类模块概述

我希望sphinx生成类似于doxygen生成的模块概述,这里是example我找不到sphinx如何做到这一点我可以使用Graphviz生成某种图形,但我找不到一种方法来在图形中获取可点击对象,该对象的操作方式与上述示例相同。有没有什么方法可以直接在sphinx中做到这一点,或者有什么hack可以让它像doxygen模块概述一样工作? 最佳答案 Sphinx有一个内置的extension称为sphinx.ext.inheritance_diagram使用Graphviz。它定义了一个指令:inheritance-diagram。以

python - python的sphinx中var、cvar、ivar有什么区别?

我在阅读sphinx文档页面时讽刺地发现关于var、ivar和cvar之间区别的文档非常缺乏。我想知道是否有人可以解释内联代码中每个不同namespace之间的区别。例子:classfoo(object):""":varstrfirst::ivarstrlast::cvarstrmiddle:"""这些sphinx标签之间的每一个有何不同,我如何知道哪一个是正确的,可以按设计正确使用? 最佳答案 var当然是通用变量。当您不想对正在记录的变量做任何进一步区分时使用它。ivar是一个“实例变量”,或者说是在实例对象(类的实例)上设置的

python - Sphinx LaTeX 标记限制

我正在尝试在Sphinx(版本1.1.2-1)中的多行数学模式中做三件非常基本的事情。即使在数学模式下,也可以将下划线作为变量名的一部分;使用\big、\biggl等定界符组成大括号和圆括号;并将常规文本作为方程式的一部分。注意以下两点。(1)我在Sphinx标记文档的Python代码中使用原始字符串,因此转义字符不需要额外的反斜杠,并且(2)我没有使用内联数学模式,它在Sphinx中是这样分隔的::math:`Somemathstuffgoeshere`regulartextcouldgohere...相反,我正在做多行的东西,通常像LaTeX中的eqnarray:..math::D

python - 使 sphinx 的 autodoc 在参数描述中显示默认值

我有以下文档字符串:defprogress_bar(progress,length=20):'''Returnsatextualprogressbar.>>>progress_bar(0.6)'[##########--------]':paramprogress:Numberbetween0and1describestheprogress.:typeprogress:float:paramlength:Thelengthoftheprogressbarinchars.Defaultis20.:typelength:int:rtype:string'''有没有办法告诉sphinx将“默