相关疑难解决方法(0)

Python模块/包名称的Sphinx apidoc部分标题

当我运行sphinx-apidoc然后make html它产生doc页面时,在目录(TOC)中的每个模块/包名称的末尾都有"Subpackages"和"Submodules"部分以及"module"和"package".如何在不编辑Sphinx源代码的情况下阻止编写这些额外的标题?

这是我想要制作的示例文档页面(注意TOC):

http://selenium.googlecode.com/svn/trunk/docs/api/py/index.html#documentation

据我所知,这是由于sphinx源代码中的apidoc.py文件(第88行):

https://bitbucket.org/birkenfeld/sphinx/src/ef3092d458cc00c4b74dd342ea05ba1059a5da70/sphinx/apidoc.py?at=default

我可以手动编辑每个单独的.rst文件来删除这些标题,或者只是从脚本中删除那些代码行,但是我必须编译Sphinx源代码.有没有手动编辑Sphinx源的自动方式?

html python title python-sphinx api-doc

12
推荐指数
1
解决办法
4573
查看次数

如何防止狮身人面像显示我班级的完整路径?

我有一个这样的项目结构:

package/
    __init__.py
    module.py
Run Code Online (Sandbox Code Playgroud)

__init__.py 包含:

from .module import Class
Run Code Online (Sandbox Code Playgroud)

module.py 包含:

class Class:
    pass
Run Code Online (Sandbox Code Playgroud)

使用sphinx-apidoc -o package/docs/ package/sphinx-build package/docs/ package/docs/_build的文档Class如下所示:

package.module。

     基础:对象

我想改成以下输出:

包。

     基础:对象

或者,甚至更好,没有包名称:

     基础:对象

用户不必知道在哪个文件中定义了类。如果不混淆,这些信息是完全不相关的。由于__init__.pyClass直接导入到包的名称空间中,因此用户会将此类导入为from package import Class,而不是from package.module import Class,我希望文档能够反映出来。

有没有一种方法可以让狮身人面像输出相对于包名称空间的路径?

python documentation python-sphinx sphinx-apidoc

8
推荐指数
2
解决办法
823
查看次数

'autodoc_default_flags'如何在python Sphinx配置中工作?

我试图生成使用狮身人面像1.4和我的蟒蛇类的文档sphinx-apidocsphinx.ext.autodoc扩展.

我有很多模块,我希望每个模块只显示类名,但不是类中的完整方法列表(在我的代码中都有文档字符串).

这是我的conf.py文件的片段:

sys.path.insert(0, '/blah/sphinx/src')

extensions = ['sphinx.ext.autodoc']
autodoc_member_order = 'bysource'
autodoc_default_flags = ['no-members']
Run Code Online (Sandbox Code Playgroud)

这是一个玩具模块(my_module.py),我用它来弄清楚Sphinx是如何工作的:

"""
==============
Test my module
==============
"""

def module_function():
    """Here is a module function, let's see if it's in"""
     print 'module level'

class TestClass:
    """
    Test this class

    Here is some more class documentation.
    """
    def __init__(self):
        """Here is init"""
        self.test = True

    def getName(self, inputName):
        """Summary for getName

        more documentation for getName
        """    
        print "hello"
        return …
Run Code Online (Sandbox Code Playgroud)

python python-sphinx autodoc

7
推荐指数
1
解决办法
1626
查看次数

从 Sphinx 文档中删除“模块”一词

使用Sphinx记录我的 Python 项目。我想删除每个 python 文件名称后面的“模块”一词(在导航栏、目录、页面标题等中)。

例如详细信息:

该项目由 2 个文件utils.pymain.py.

在我的index.rst文件中,我使用:

.. toctree::
   :maxdepth: 2

   utils
   main
Run Code Online (Sandbox Code Playgroud)

将两个文件作为“模块”导入。docs/然后从文件夹中调用:

sphinx-apidoc -f -o ./source/ .. 
make html
Run Code Online (Sandbox Code Playgroud)

生成静态站点。在该站点中,每个文件名后面都带有“模块”一词,我想将其删除。

python python-sphinx

6
推荐指数
1
解决办法
3394
查看次数

如何避免使用Sphinx复制函数文档?

假设我有以下结构

mypackage
    __init__.py
    core.py
Run Code Online (Sandbox Code Playgroud)

__init__.py

from .core import my_function

__all__ = ['my_function']
Run Code Online (Sandbox Code Playgroud)

core.py

def myfunction():
    ''' really cool function '''
    pass
Run Code Online (Sandbox Code Playgroud)

运行sphinx-apidoc --full -o docspython setup.py build_sphinx 我得到myfunction两次的文档。

如何避免这种重复,最好仅在顶层使用文档(因为这是针对用户的API)。

python python-sphinx

5
推荐指数
0
解决办法
161
查看次数

在 Sphinx 中保持 API 更新

方案如下。有一个名为foo(正在大力开发的 API,处于第一个 alpha 阶段)的包,其rst文件是使用sphinx-apidoc.

为了在foo生成这些文件后有更好的文档,需要进行一些编辑。比如说,foo.bar.rst在生成的内容中添加了一些段落sphinx-apidoc

sphinx-apidoc当进行新的呼叫时,如何才能不丢失所有这些信息?当然,我希望反映 API 中的潜在更改,并保留添加的手动信息。

python python-sphinx

3
推荐指数
1
解决办法
2529
查看次数