Sphinx не удаляет флаги doctest в выводе html

Я не могу удалить флаги doctest (т.е. <BLANKLINE>, # doctest: +ELLIPSIS) для вывода html. Я могу генерировать документацию так, как хочу, поэтому ошибок нет, но она включает тезисы, которые я хотел бы удалить. Документация Sphinx здесь утверждает, что это возможно, поэтому Должно быть, я делаю что-то не так. Мои примеры документации выполнены в стиле numpy, и я пытался использовать расширения napoleon и numpydoc.

Вот шаги, которые я предпринял.

  1. запустить sphinx-quickstart (включив расширения autodoc и doctest)
  2. запустите sphinx-apidoc для создания файлов .rst
  3. запустить make doctest (все тесты пройдены)
  4. беги make html

Я безуспешно пытался установить переменные trim_doctest_flags и doctest_test_doctest_blocks в conf.py.

Есть ли что-то, чего мне не хватает, чтобы заставить sphinx удалить их для html-документов? Я надеюсь, что этой информации достаточно, чтобы указать правильное направление, поскольку документы выглядят хорошо, за исключением одной проблемы. Тем не менее, я могу предоставить более подробную информацию или пример, если это необходимо.

Обновление: пример MCV (с использованием Sphinx 1.8.2)
структура каталогов и файлов

.
├── trial
│   ├── __init__.py
│   └── trial.py
└── trialDocs
    ├── build
    ├── Makefile
    └── source
        ├── _static
        ├── _templates
        ├── conf.py
        ├── index.rst
        ├── modules.rst
        └── trial.rst

conf.py

# -*- coding: utf-8 -*-
#
# Configuration file for the Sphinx documentation builder.
import os
import sys
sys.path.insert(0, os.path.abspath('../../trial'))
project = 'trial'
copyright = '2019, trial'
author = 'trial'
version = ''
release = 'trial'
extensions = [
    'sphinx.ext.autodoc',
    'sphinx.ext.doctest',
    'sphinx.ext.napoleon',
]
templates_path = ['_templates']
source_suffix = '.rst'
master_doc = 'index'
language = None
exclude_patterns = []
pygments_style = None
html_theme = 'alabaster'
htmlhelp_basename = 'trialdoc'
latex_elements = {}
latex_documents = [(master_doc, 'trial.tex', 'trial Documentation', 'trial', 'manual'),]
man_pages = [(master_doc, 'trial', 'trial Documentation', [author], 1)]
texinfo_documents = [(master_doc, 'trial', 'trial Documentation', author, 'trial', 'One line description of project.', 'Miscellaneous'),]
epub_title = project
epub_exclude_files = ['search.html']
doctest_global_setup = """
from trial import *
"""
trim_doctest_flags=True

пробный.rst - это было создано с помощью sphinx-apidoc

trial package
=============

Module contents
---------------

.. automodule:: trial
    :members:
    :undoc-members:
    :show-inheritance:

пробная версия.py

def withBlankline():
    """
    Use blanklines in example.

    Determine if sphinx will eliminate <BLANKLINE> for html.

    Examples
    --------
    >>> withBlankline()
    <BLANKLINE>
    blanklines above and below
    <BLANKLINE>
    """
    print()
    print('blanklines above and below')
    print()

class Example():
    def __init__(self):
        pass

    def withEllipsis(self):
        """
        Use ellipsis in example.

        Determine if sphinx will eliminate # doctest: +ELLIPSIS for html.

        Examples
        --------
        >>> e = Example()
        >>> e.withEllipsis() # doctest: +ELLIPSIS
        abc...xyz
        """
        print('abcdefghijklmnopqrstuvwxyz')

используя выходные данные make html или sphinx-build -b html source build
Trial.html: введите здесь описание изображения


person dshanahan    schedule 07.03.2019    source источник
comment
Да, я думаю, вам нужно предоставить более подробную информацию. Как мы можем воспроизвести это?   -  person mzjn    schedule 08.03.2019
comment
@mzjn Нет проблем, я обновил свой вопрос. Пожалуйста, дайте мне знать, если вам нужно что-то еще для воспроизведения. Спасибо.   -  person dshanahan    schedule 09.03.2019
comment
Интересно. Я могу воспроизвести проблему. trim_doctest_flags имеет значение True по умолчанию и должно позаботиться об этом.   -  person mzjn    schedule 09.03.2019
comment
Хм. Думаю, я могу написать скрипт, чтобы исправить это вручную.   -  person dshanahan    schedule 10.03.2019
comment
Исправлено в Sphinx 2.2.0: github.com/sphinx-doc/sphinx/issues/6545   -  person mzjn    schedule 13.10.2019


Ответы (1)


Судя по комментарию @mzjn, это была ошибка, исправленная в Sphinx 2.2.0:

Проблема: комментарии doctest не обрезаются, начиная с Sphinx 1.8.0 – проблема № 6545

person nealmcb    schedule 09.02.2020