就狮身人面像而言,我是新手。我的项目结构如下:
__ 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
。 FolderCreateAction (...)
我知道folder_actions
模块前缀是正确的,但我想更改它以使用包名称,如下所示:
班级argparse_actions
。 FolderCreateAction (...)
我有办法实现这个目标吗?
doc/index.rst
如果我将文档字符串从folder_actions.py
移到__init__.py
,那么文档将如下所示:
class __init__.FolderCreateAction( ... )
仅供参考,我的项目现在在BitBucket
我不知道为什么我的更改没有被推送到BitBucket,但那无关紧要。请看一下同一个项目,推送到GitHub。感谢您的帮助, mzjn 。
答案 0 :(得分:2)
经过几个月的中断后,我终于找到了解决方案:将以下行添加到folder_actions.py
和ip_action.py
模块的文档字符串中:
.. module:: argparse_actions
最好,此行应该是模块docstring的第一行。
答案 1 :(得分:0)
请参阅提供解决方案的 this 答案。
您可以将 __init__.py
文件修改为:
from folder_actions import *
from ip_actions import *
__all__ = ['FolderCreateAction']
这让 Sphinx 知道您希望 FolderCreateAction
成为包的公共 API 的一部分,并将在文档中将其呈现为 argparse_actions.FolderCreateAction
。