Игнорировать тесты / строки документов с пайфками / Пилинтом

Прямо сейчас, если у меня есть какая-то функция, подобная этой, и я бы хотел получить ошибку о том, что индекс не определен, игнорируя ошибку, что some_index не определен.

def myfunction(ind, other):
   """
   Parameters
   ----------
   ind: Index
   other: Index or set

   Returns
   -------
   Index.

   Examples
   --------

   >>> myfunction(some_index, other)
   """
   return index + other

Если я запускаю это через flake8, я получаю:

file.py:15:1: F821 undefined name 'other'
file.py:15:1: F821 undefined name 'some_index'
file.py:17:1: F821 undefined name 'index'

Но то, что я хочу увидеть, это просто ошибка индекса и игнорировать другие:

file.py:17:1: F821 undefined name 'index'

Если я запускаю pylint или pyflakes на нем, выдает ошибку о том, что some_index и другие не определены (что является True, но не обязательно всегда полезно). Как мне сказать программам пропустить эти ошибки? Я работаю над большой библиотекой, в которой разбросано множество примеров, некоторые из которых не определены, а просто приведены как примеры их вызова. Да, это не здорово, если вы не можете запустить doctests, но на данный момент, это добавляет тонну шума к выводу pylint или pyflakes. Flake8, похоже, не предлагает возможность их пропустить.

Как я могу сделать эту работу? Есть ли простой способ определить, какие строки являются строками документации в Python, и таким образом отфильтровать результаты?

2 ответа

Решение

Проверка строк документации - регрессия в pyflakes; пожалуйста, прокомментируйте эту ошибку, чтобы добавить свой голос в обсуждение.

Вы можете отключить его сейчас, установив переменную окружения PYFLAKES_NODOCTEST,

flake8 предоставляет возможность ignore:

flake8 --ignore=F821 a.py
Другие вопросы по тегам