首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sphinx警告:自动摘要:找不到该类方法的存根文件。检查您的autosummary_generate设置

sphinx警告:自动摘要:找不到该类方法的存根文件。检查您的autosummary_generate设置
EN

Stack Overflow用户
提问于 2020-12-08 20:32:54
回答 2查看 1.9K关注 0票数 7

我有一个开源包,其中包含很多不同子模块上的类。所有类都有fittransform方法,并从sklearn继承fit_transform。所有类都有文档字符串,这些文档字符串跟在numpydoc后面的子标题参数、属性、注释、另请参阅和方法,其中我列出了fittransformfit_transform。我复制了一个类的示例:

代码语言:javascript
复制
class DropFeatures(BaseEstimator, TransformerMixin):
    """
    Some description.

    Parameters
    ----------
    features_to_drop : str or list, default=None
        Variable(s) to be dropped from the dataframe

    Methods
    -------
    fit
    transform
    fit_transform
    """

    def __init__(self, features_to_drop: List[Union[str, int]]):

        some init parameters

    def fit(self, X: pd.DataFrame, y: pd.Series = None):
        """
        This transformer does not learn any parameter.

        Verifies that the input X is a pandas dataframe, and that the variables to
        drop exist in the training dataframe.

        Parameters
        ----------
        X : pandas dataframe of shape = [n_samples, n_features]
            The input dataframe
        y : pandas Series, default = None
            y is not needed for this transformer. You can pass y or None.

        Returns
        -------
        self
        """
        some functionality

        return self

    def transform(self, X: pd.DataFrame):
        """
        Drop the variable or list of variables from the dataframe.

        Parameters
        ----------
        X : pandas dataframe
            The input dataframe from which features will be dropped

        Returns
        -------
        X_transformed : pandas dataframe,
            shape = [n_samples, n_features - len(features_to_drop)]
            The transformed dataframe with the remaining subset of variables.

        """

        some more functionality

        return X

在Sphinx的conf.py中,我包括:

代码语言:javascript
复制
extensions = [
    "sphinx.ext.autodoc",  # Core Sphinx library for auto html doc generation from docstrings
    "sphinx.ext.autosummary",  # Create neat summary tables for modules/classes/methods etc
    "sphinx.ext.intersphinx",  # Link to other project's documentation (see mapping below)
    "sphinx_autodoc_typehints",  # Automatically document param types (less noise in class signature)
    "numpydoc",
    "sphinx.ext.linkcode",
] 


numpydoc_show_class_members = False


# generate autosummary even if no references
autosummary_generate = True
autosummary_imported_members = True

当我使用sphinx-build -b html docs build构建文档时,文档构建得非常好,但是每个类都会收到3个警告,每个方法对应一个警告,这就是说:

代码语言:javascript
复制
warning: autosummary: stub file not found for the methods of the class. check your autosummary_generate settings

我已经耗尽了我所有的搜索资源,我准备放弃。是否有人知道如何防止该警告,或者如何使sphinx不将其打印到控制台?

我附加了一份错误的副本,如果需要,我可以提供PR到存储库的链接

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-12-09 00:37:01

好的,三天后,我成功了。秘诀是在文档字符串中的方法标题" methods“之后添加一个简短的描述,而不是像我做的那样将它们留空。

所以:

代码语言:javascript
复制
class DropFeatures(BaseEstimator, TransformerMixin):

        Some description.
    
        Parameters
        ----------
        features_to_drop : str or list, default=None
            Variable(s) to be dropped from the dataframe
    
        Methods
        -------
        fit:
           some description
        transform:
          some description
        fit_transform:
          some description
票数 6
EN

Stack Overflow用户

发布于 2021-02-10 23:28:19

在我的例子中,以下添加到doc文件夹中的setup.py删除了警告:

代码语言:javascript
复制
numpydoc_show_class_members = False 

添加方法将方法限制在一个固定的列表中,这不是我想要的行为。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65198998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档