标签: python-sphinx

如何将外部 Python 文件添加到重构的文本文档中?

我想使用 Sphinx 和重组文本写一本书。由于大部分内容都是用 Python 编写的解决方案,我想将文本和代码分开。

是否有命令可以将外部 python 脚本添加到我的重组文本文档中?

我尝试使用

.. code-block:: python
    .. include:: unittest_exp1.py
Run Code Online (Sandbox Code Playgroud)

和

.. code-block:: python
    .. file:: unittest_exp1.py
Run Code Online (Sandbox Code Playgroud)

python restructuredtext python-sphinx

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

Sphinx 不改变版本号

我在conf.py中更改了项目的版本号:

version = '0.0.2'
Run Code Online (Sandbox Code Playgroud)

但是当我生成一个新的html(make html)时,版本始终是:0.0.1。

有什么建议么?

python versioning python-sphinx

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

在 Sphinx 中保持 API 更新

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

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

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

python python-sphinx

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

sphinx 中方法组的文档字符串

是否可以在 Sphinx 生成的文档中为方法组添加文档字符串?

例如,我想要这样的东西:

class MyClass():
    """Doc of the class"""
    def __init__(self):
        pass

    """----- The following part is about imports -----"""

    def import_from_source_1(self):
        """Doc of import_from_source_1"""
        pass

    def import_from_source_2(self):
        """Doc of import_from_source_2"""
        pass

    """----- The following part is about exports-----"""

    def export_to_dest_1(self):
        """Doc of export_to_dest_1"""
        pass

    def export_to_dest_2(self):
        """Doc of export_to_dest_2"""
        pass
Run Code Online (Sandbox Code Playgroud)

预期输出将是:

MyClass
    Doc of the class

----- The following part is about imports -----
import_from_source_1
    Doc of import_from_source_1

import_from_source_2
    Doc of import_from_source_2

----- The following part is about …
Run Code Online (Sandbox Code Playgroud)

python python-sphinx

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

如何在 reStructuredText (sphinx) 中嵌入 HTML 或 XML,以便浏览器 cna 呈现它们?

我只需要在 reStructuredText (sphinx) 中嵌入一小段 html 或 xml,以便浏览器可以在生成的 HTML 文件中呈现它们,如下面的小块

.. raw:: html
  <a href="testurl">testurl</a>
Run Code Online (Sandbox Code Playgroud)

或者

.. raw:: html
  <math><apply><plus/><ci>a</ci><apply><minus/><ci>b</ci><ci>c</ci></apply></apply></math>
Run Code Online (Sandbox Code Playgroud)

无论我尝试过像“literal”、“raw”、“container”、“code”这样的指令,html代码都显示为某些“p”块的内部文本(因此浏览器显示代码而不是渲染它) ,或者代码从输出中消失。

在 reStructuredText (sphinx) 中嵌入 html 或 xml 以便浏览器可以呈现它们的正确方法是什么?我只想将 html 或 xml 原封不动地放在那里。

restructuredtext python-sphinx

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

Python-Sphinx:自动包含文档构建的日期和时间

对于 Python-Sphinx 文档生成器,是否有一种标准方法可以在构建当前渲染时自动填充时间和日期?

查看conf.py文件和RTD 主题的文档,我没有看到列出了此功能。

python-sphinx

3
推荐指数
2
解决办法
1713
查看次数

Sphinx 找不到我的 python 文件。说“没有名为...的模块”

我有一个关于 Sphinx 自动文档生成的问题。我觉得我想做的事情应该很简单,但由于某种原因,它不起作用。

我有一个 Python 项目,其目录名为slotting_tool。该目录位于C:\Users\Sam\Desktop\picnic-data-shared-tools\standalone\slotting_tool

我使用sphinx-quickstart. 那么我的目录结构(简化)如下:

slotting_tool/
|_ build/
|_ source/
|___ conf.py
|___ index.rst
|_ main/
|___ run_me.py
Run Code Online (Sandbox Code Playgroud)

现在,我slotting_tool通过将以下内容添加到conf.py文件中来设置项目的根目录。

import os
import sys
sys.path.insert(0, os.path.abspath('..'))
Run Code Online (Sandbox Code Playgroud)

接下来,我将我的index.rst文件更新为如下所示:

.. toctree::
   :maxdepth: 2
   :caption: Contents:

.. automodule:: main.run_me
   :members:
Run Code Online (Sandbox Code Playgroud)

尝试使用该sphinx-build -b html source .\build命令构建我的 html 时,我得到以下输出,并显示no module named错误:

(base) C:\Users\Sam\Desktop\picnic-data-shared-tools\standalone\slotting_tool>sphinx-build -b html source .\build
Running Sphinx v1.8.1
loading pickled environment... done
building [mo]: targets for …
Run Code Online (Sandbox Code Playgroud)

python python-3.x python-sphinx autodoc

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

Sphinx Autodoc 输出顺序

是否可以更改 Sphinx AutoDoc 生成的输出顺序?

特别是,我使用:private-members:指令包括私有成员。我想要的是私有成员出现在输出的最后而不是第一个,这是默认值,由字母顺序和“A”之前的“_”字符引起。

private-members python-sphinx autodoc

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

如何用狮身人面像制作两列

我想在我的文档中创建多个列。

在全球范围内,我想做一些与此主页类似的事情,其中有 3 列:一列是当前版本,一列是新闻和更新,以及基本信息。

当我在 google 上搜索 Sphinx 中的多列时,我发现将列表分成 2 列,这不是我的情况

在维基上,我发现多列的唯一内容是表格,但我认为这不适用于这里?

这在使用 Sphinx 的 rst 文件中是可能的吗?

非常感谢

python restructuredtext python-sphinx

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

如何使用 MathJax 配置 Sphinx 以使用美元符号作为数学分隔符

如何配置 Sphinx 以使用美元符号作为 MathJax 扩展的数学分隔符?

我尝试添加

mathjax_config = {
    'tex2jax': {
      'inlineMath': [ ['$','$']],
      'displayMath': [ ['$$','$$']],
    },
}
Run Code Online (Sandbox Code Playgroud)

to conf.py,但这有两个问题:

  1. 数学需要两个反斜杠。例如,$\\sin(x)$。Sphinx 似乎去掉了单个反斜杠。
  2. 如果我不在..math页面上的某处包含普通指令,它就不会加载 MathJax Javascript。我想专门使用$和$$分隔数学。

latex mathjax python-sphinx

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