gpt4 book ai didi

python - 将 sphinx autodoc 用于 fabfile

转载 作者:太空狗 更新时间:2023-10-30 00:08:11 25 4
gpt4 key购买 nike

是否可以使用 Sphinx autodoc 从函数 docstrings 为我的 fabfile 生成文档?

例如对于包含我尝试过的 setup_development 任务的 fabfile:

.. automodule::fabfile
:members:
.. autofunction:: setup_development

但是没有生成任何东西。

fab文件片段:

@task
def setup_development(remote='origin', branch='development'):
"""Setup your development environment.

* Checkout development branch & pull updates from remote
* Install required python packages
* Symlink development settings
* Sync and migrate database
* Build HTML Documentation and open in web browser

Args:
remote: Name of remote git repository. Default: 'origin'.
branch: Name of your development branch. Default: 'development'.
"""
<code>

最佳答案

这是因为你在函数 setup_development 上应用了装饰器

您需要使用 functools.wraps 更新您的 task 函数,如下所示,

from functools import wraps

def task(calling_func):
@wraps(calling_func)
def wrapper_func(self, *args, **kw):
return calling_func(*args, **kw)
return wrapper_func

如果您记录修饰函数或方法,请记住 autodoc 通过导入模块并检查给定函数或方法的 __doc__ 属性来检索其文档字符串。

这意味着如果装饰器用另一个装饰器替换装饰函数,它必须将原来的 __doc__ 复制到新函数中。从 Python 2.5 开始,functools.wraps() 可用于创建行为良好的装饰函数。

引用资料:

关于python - 将 sphinx autodoc 用于 fabfile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8845195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com