Doctest Sphinx не проходит, в то время как Got и Expected точно так же

Я получил этот отчет об ошибке:

Document: readme
----------------
**********************************************************************
File "readme.rst", line ?, in default
Failed example:
    a
Expected:
    array(['Joe', 'Jane'],
          dtype='<U4')
Got:
    array(['Joe', 'Jane'],
          dtype='<U4')
**********************************************************************

Есть ряд таких вопросов:

Все они предлагают искать «скрытые» символы или пробелы.

Мой reStructuredText выглядит так:

test1:

    >>> a = np.array(['Joe', 'Jane'])
    >>> a
    array(['Joe', 'Jane'],
          dtype='<U4')

test2:

    >>> b = np.array([1,2,3])
    >>> b
    array([1, 2, 3])

test2 работает нормально.

Я запустил код в командной строке python и скопировал результат в reStructuredtext, но получил эту ошибку. Я скопировал текст из отчета об ошибках и вставил его обратно в строку Python и сравнил с a == b (получил True). У меня есть много других примеров в том же файле, которые отлично подходят для тестирования.

Каким может быть скрытый персонаж и как от него избавиться? Что еще я могу сделать, чтобы понять, в чем проблема?

Может быть, есть что-то конкретное о массивах numpy?

Я думаю, что этот пример достаточно прост, чтобы другие люди, должно быть, наткнулись на него ...

Невозможно воспроизвести с использованием Python 3.7, Sphinx 1.7.7, numpy 1.14.3. А как насчет замены >>> a на >>> a # doctest: +NORMALIZE_WHITESPACE?

hoefling 19.08.2018 19:57

@hoefling, который работает, как и `# doctest: + SKIP . I'm using python 3.6.4, Sphinx 1.7.6 and numpy 1.12.1. Maybe its because I use .. include :: ../../ README.rst`, а проблема в файле README.rst? Или, может быть, это из-за одного из плагинов sphinx: 'sphinx.ext.autodoc', 'sphinx.ext.doctest', 'sphinx.ext.napoleon', 'sphinx.ext.autosectionlabel', который я использую, ..

Bastiaan 20.08.2018 07:26

Можете ли вы предоставить минимальный воспроизводимый пример?

hoefling 21.08.2018 22:29
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
3
120
0

Другие вопросы по теме