PyLint не признает членов cv2

Я запускаю pylint в проекте opencv, и я получаю много ошибок pylint в VS-коде, когда члены не присутствуют.

Пример кода:

import cv2
cv2.imshow(....)

Полученные ошибки:

enter image description here

Однако код работает правильно, без ошибок.

Версии: 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

enter image description here

Ответ 3

Вот фрагмент кода для файла settings.json в MS V Code

"python.linting.pylintArgs":["--extension-pkg-whitelist=cv2"]

Ответ 4

Вы сказали: "Однако код работает без ошибок". так что проблема с линтингом не работает, и данное решение описывает, как закрыть предупреждения... После применения "решения" линтинг все еще не работает... Но предупреждения закрыты. У меня есть более простое решение, если вы закроете глаза, вы не увидите больше предупреждений...