- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在尝试使用 Sphinx 来记录我的 Python 类。我使用自动文档这样做:
.. autoclass:: Bus
:members:
虽然它正确地为我的方法获取文档字符串,但那些被修饰的方法:
@checkStale
def open(self):
"""
Some docs.
"""
# Code
@checkStale
存在
def checkStale(f):
@wraps(f)
def newf(self, *args, **kwargs):
if self._stale:
raise Exception
return f(self, *args, **kwargs)
return newf
有一个不正确的原型(prototype),例如 open(*args, **kwargs)
。
我该如何解决这个问题?我的印象是使用 @wraps
可以解决这种问题。
最佳答案
我在使用 celery @task 装饰器时遇到了同样的问题。
您也可以通过将正确的函数签名添加到您的 rst 文件来解决此问题,如下所示:
.. autoclass:: Bus
:members:
.. automethod:: open(self)
.. automethod:: some_other_method(self, param1, param2)
它仍然会自动记录非装饰器成员。
这在 http://www.sphinx-doc.org/en/master/ext/autodoc.html#directive-automodule 的 sphinx 文档中有所提及-- 搜索“如果方法的签名被装饰器隐藏,这很有用。”
在我的例子中,我必须使用 autofunction 在 django 应用的 tasks.py 模块中指定我的 celery 任务的签名:
.. automodule:: django_app.tasks
:members:
:undoc-members:
:show-inheritance:
.. autofunction:: funct1(user_id)
.. autofunction:: func2(iterations)
关于Python Sphinx autodoc 和装饰成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3687046/
我写了一个 python 类,并用 sphinx 制作了文档。例如,类看起来像: class Aclass(object): """ my class """ def __init__
我正在尝试使用 sphinx 来为我的项目创建文档,它是一组划分为项目内部模块的函数。 我只需要在文档中公开一小部分函数,所以我使用 autodoc-skip-member 通过标记文档字符串来过
我正在尝试使用 Sphinx 记录一个项目,但遇到了一个问题,即仅从文件夹中导入了一些模块。我的项目结构如下所示: Project | |--Main | |--Scripts |
我正在尝试自动生成我的 Django 项目的文档。文档树在 html 页面上生成,但我的任何模块中的任何成员都没有文档。我一直遇到这个问题: Running Sphinx v1.1.3 loading
我有一个 python 模块,它定义了一个多行字符串常量。我想在基于 Sphinx 的文档中很好地显示多行字符串。 下面是一些 Python 代码示例,RST 以及它如何使用 sphinx-build
正如标题所示,我正在使用 Sphinx 为 python 库生成文档并使用自动文档功能。 我遇到的问题是 autodoc 导入器无法正确导入库。 Traceback (most recent call
当我制作htmlthis little project的Sphinx文档时我得到: $ make html sphinx-build -b html -d _build/doctrees . _b
我是 sphinx 的新手,需要帮助来弄清楚为什么我会收到以下错误: WARNING: autodoc: failed to import module 'employe_dao' from modu
我正在尝试在 Sphinx 中使用 autodoc 打印出特定模块中每个函数的文档字符串,但不包括模块的文档字符串。可能吗? 原因是我正在使用模块文档字符串来指定命令行选项(使用可爱的 docopt)
我正在尝试使用 sphinx(结合 autodoc 和 numpydoc)来记录我的模块,但是在基本设置之后,运行 make html 只生成基本的 html,不包含文档字符串。我运行的是Python
我正在尝试仅对选定的模块使用 autodoc。我创建了一个文件,其中包括: .. automodule:: some.specific.module :members: 它会正确生成。不幸的是,
我正在用 Sphinx 记录一个类,只是想跳过其中一个类成员: class StatusUpdateAdapter(logging.LoggerAdapter): """ """
我正在使用 Sphinx 的 autodoc 插件来自动记录一组模块。我有一个接受 *args 的函数,我想覆盖文档以显示更好的 funcname(arg1[, arg2[, ...]]) Pytho
我正在尝试使用 Sphinx 来记录我的 Python 类。我使用自动文档这样做: .. autoclass:: Bus :members: 虽然它正确地为我的方法获取文档字符串,但那些被修饰的
我有一个包含两个记录在案的全局特殊成员的模块。 在本地运行 Sphinx 会创建包含其文档的文档,但 Read the Docs 不会。它改为使用内置类型的文档。 我尝试了两种样式:#: 和定义后的文
我正在尝试使用 Sphinx 在 Python 中记录一个超过 5,000 行的项目。它有大约 7 个基本模块。据我所知,为了使用 autodoc,我需要为项目中的每个文件编写这样的代码: .. au
我正在使用 Sphinx autodoc 扩展来记录我的 Python 项目。我的类(class)文档中有以下内容: .. automodule:: ClassName :members:
我正在尝试在扩展外部类的类上运行 autodoc。 我使用了模拟以便接受导入。 为此,我使用了此博客中描述的内容 http://blog.rtwilson.com/how-to-make-your-s
我有一个带有类型提示的长签名函数,例如 def set_parameters( tokenizer: Union[None, "Tokenizer", str] = None,
是否可以更改 Sphinx AutoDoc 生成的输出顺序? 特别是,我使用 :private-members: 指令包括私有(private)成员。我想要的是私有(private)成员在输出中出现
我是一名优秀的程序员,十分优秀!