У меня возникла проблема с использованием 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 по умолчанию, чтобы использовать здесь прежний метод.