7

就狮身人面像而言,我是新手。我的项目结构如下:

  • argparse_actions/
    • argparse_actions/
      • __init__.py
      • folder_actions.py
      • ip_actions.py
    • 文档/
      • _建造/
      • index.rst ==> 这是起点、主页或根文档。
      • 和更多...

__init__.py 看起来像这样:

from folder_actions import *
from ip_actions import *

folder_actions.py看起来像这样:

'''
Folder Actions
==============

This module implements some reusable custom actions.

.. autoclass:: FolderExistsAction
.. autoclass:: FolderCreateAction
   :members:

'''

# The rest of the code

除了这部分之外,生成的 HTML 文档看起来很好:

folder_actions文件夹创建动作( ... )

我知道folder_actions模块前缀是正确的,但我想将其更改为使用包名称,如下所示:

argparse_actions文件夹创建动作( ... )

我有办法做到这一点吗?

更新

  • 根文件在doc/index.rst
  • 如果我将文档字符串从folder_actions.py移至__init__.py,则文档将如下所示:

    class __init__.FolderCreateAction( ... )
    
  • 仅供参考,我的项目现在在BitBucket

更新 2

我不知道为什么我的更改没有推送到 BitBucket,但这无关紧要。请看一下同一个项目,推送到GitHub。感谢您的帮助,mzjn

4

2 回答 2

4

经过几个月的中断,我终于找到了解决方案:在folder_actions.pyip_action.py模块的文档字符串中添加以下行:

.. module:: argparse_actions

最好,这一行应该是模块文档字符串的第一行。

于 2013-10-06T02:57:10.380 回答
0

请参阅提供解决方案的此答案。

您可以将__init__.py文件修改为:

from folder_actions import *
from ip_actions import *

__all__ = ['FolderCreateAction']

这让 Sphinx 知道您想FolderCreateAction成为该包的公共 API 的一部分,并将其呈现argparse_actions.FolderCreateAction在文档中。

于 2021-03-22T10:00:20.723 回答