По умолчанию Pylint запускается по модулю, а не по имени файла

У меня возникла проблема с использованием Pylint в моем проекте в VS Code. Кажется, что когда Pylint запускается по умолчанию, он ищет имя файла, а не модуль (path/to/module.py, а не path.to.module). Проблема в том, что это, похоже, игнорирует неявный пакет пространства имен. Я бы предпочел не размещать файлы __init__.py в каждом подкаталоге проекта, чтобы решить эту проблему (я подтвердил, что это работает, но это не очень чистое решение). Я также пытался добавить логику к init-hook в .pylintrc, чтобы добавить path/to/root к sys.path, но это не имеет значения.

Я обнаружил, что при запуске pylint вручную в терминале он работает, как и ожидалось, при запуске по модулю, но дает мне no-name-in-module и import-error при запуске по файлу. Пример:

Модуль:

$ pylint site.tests.common.footer

--------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)

Файл:

$ pylint site/tests/common/footer.py
************* Module footer
site/tests/common/footer.py:1:0: E0611: No name 'pytest' in module 'common' (no-name-in-module)
site/tests/common/footer.py:1:0: E0611: No name 'expect' in module 'common' (no-name-in-module)
site/tests/common/footer.py:1:0: E0611: No name 'assert_expectations' in module 'common' (no-name-in-module)
site/tests/common/footer.py:1:0: E0611: No name 'GlobalVariables' in module 'common' (no-name-in-module)
site/tests/common/footer.py:2:0: E0401: Unable to import 'site.pages' (import-error)

----------------------------------------------------------------------
Your code has been rated at -25.71/10 (previous run: -25.71/10, +0.00)

Мой вопрос заключается в том, есть ли способ переопределить поведение Pylint по умолчанию, чтобы использовать здесь прежний метод.


person Brandon    schedule 14.10.2020    source источник
comment
Отвечает ли это на ваш вопрос? Нет имени в ошибке модуля из Pylint   -  person Ruli    schedule 14.10.2020
comment
@Brandon - Как понять игнорирование неявного пакета пространства имен? Я запускаю эти два метода, и результаты очень похожи, поэтому не могли бы вы предоставить нам минимальный код, который может воспроизвести эту проблему?   -  person Jill Cheng    schedule 15.10.2020