pylint и pre-commit крюк не могут импортировать - PullRequest
1 голос
/ 15 апреля 2020

Структура моего проекта выглядит следующим образом:

project/
   app/
      main.py
   venv/
   .pylintrc
   .pre-commit-config.yaml

Когда я пытаюсь отредактировать project/app/main.py, и это не удается с Unable to import 'psycopg2' (import-error)

Но когда я пытаюсь опилить этот файл напрямую, это работает.

.pre-commit-config.yaml выглядит так:

-   repo: https://github.com/PyCQA/pylint
    rev: pylint-2.4.2
    hooks:
    -   id: pylint

1 Ответ

1 голос
/ 16 апреля 2020

не уверен, что это сделало его правильным, но в нижней части pre-commit / mirrors-pylint

pre-commit запускает pylint из изолированного virtualenv. Многие из проверок Pylint выполняют динамический анализ, который потерпит неудачу. Вы можете найти настройку pylint как local hook более полезной.

, если у вас очень мало зависимостей, additional_dependencies может быть достаточно для его работы, но с использованием local крючки для вещей, которые должны (по существу) импортировать ваш код, вероятно, является вашей лучшей ставкой


отказ от ответственности: я являюсь автором pre-commit

...