【问题标题】:Sphinx autmodule also documenting imported modulesSphinx autmodule 还记录导入的模块
【发布时间】:2014-08-07 16:00:48
【问题描述】:

我正在使用 sphinx 为我正在创建的包创建一些文档。文档生成正确,但它也为导入创建文档。是否可以将自动模块配置为仅为指定模块中存在的功能(而不是导入的模块)创建文档?

编辑

这仅在执行以下导入时发生:from pylab import *

在我的第一个文件中:

.. automodule:: name.subname
   :members:

mzjn 指出这个问题已经问过了:Documenting files with "from x import *"

答案是改变pylab的导入方式:

import pylab
from pylab import *
for k,v in pylab.__dict__.iteritems():
    if hasattr(v,'__module__'):
        if v.__module__ is None:
            locals()[k].__module__ = 'pylab'

【问题讨论】:

  • 如何重现这个问题?如果你能提供一个真实的例子会有所帮助。
  • 对我来说,似乎是:from pylab import *
  • 看到这个问题:stackoverflow.com/q/8608341/407651
  • 你应该写一个答案。这解决了问题。
  • 我认为最好将此问题作为副本关闭。随时为其他问题的答案投票!

标签: python python-sphinx


【解决方案1】:

对于模块,__all__在寻找成员时会被尊重;这 成员的顺序也将是__all__中的顺序。

__all__ 是一个让模块声明它真正想要的公共命名空间的好方法。您还可以在 Sphinx 配置中的 :members: 之后放置一个逗号分隔的成员列表,但 __all__ 对于导入和其他工具也很有用。

【讨论】:

    猜你喜欢
    • 2021-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-11
    • 1970-01-01
    相关资源
    最近更新 更多