PyLint не признает членов cv2
Я запускаю pylint в проекте opencv, и я получаю много ошибок pylint в VS-коде, когда члены не присутствуют.
Пример кода:
import cv2
cv2.imshow(....)
Полученные ошибки:
Однако код работает правильно, без ошибок.
Версии: pylint 1.8.1, astroid 1.6.0
Ответы
Ответ 1
Это от pylint. Вы можете создать файл конфигурации pylint в корне вашего проекта с помощью этой команды: (Я считаю, что это полезно, если вы работаете в команде или на разных компьютерах из одного и того же репо)
pylint --generate-rcfile > .pylintrc
В начале сгенерированного файла.pylintrc вы увидите
# A comma-separated list of package or module names from where C extensions may
# be loaded. Extensions are loading into the active Python interpreter and may
# run arbitrary code.
extension-pkg-whitelist=
Добавьте cv2, чтобы вы закончили
# A comma-separated list of package or module names from where C extensions may
# be loaded. Extensions are loading into the active Python interpreter and may
# run arbitrary code.
extension-pkg-whitelist=cv2
Сохраните файл. Ошибки lint должны исчезнуть.
Ответ 2
Да, это потому, что расширение не было установлено.
Установите это: extension-pkg-whitelist = cv2 и все готово.
Однако он может не обнаруживать функции или модули, реализованные в cv2
Ответ 3
Вот фрагмент кода для файла settings.json в MS V Code
"python.linting.pylintArgs":["--extension-pkg-whitelist=cv2"]
Ответ 4
Вы сказали: "Однако код работает без ошибок". так что проблема с линтингом не работает, и данное решение описывает, как закрыть предупреждения... После применения "решения" линтинг все еще не работает... Но предупреждения закрыты.
У меня есть более простое решение, если вы закроете глаза, вы не увидите больше предупреждений...