vscode 환경 아래 PEP-8을 위해 대부분 linting을 사용한다.
* 해당 글은 pylint 사용자를 위한 포스트 *
OpenCV 사용 시 다음과 같은 에러가 표시되는 걸 볼 수 있는데,
[pylint] E1101:Module 'cv2' has no 'imread' member
이는, OpenCV작성 시 사용된 C를 pylint가 이해하지 못하기 때문에 생기는 에러다.
문제해결 방법이 이미 stackoverflow에 잘 나와있지만, 좀 더 쉬운 접근법을 적용해보자.
1. Settings
2. pylint 검색
3. Pylint: Args Add item
* --generate-members
* "python.linting.pylintArgs": ["--extension-pkg-whitelist=cv2"]
적용
위의 whitelist flag를 통해 openCV(cv2) 모듈의 AST(Abstract Syntax Tree)를 불러올 수 있고, 결과적으로 모듈을 에러없이 import 할 수 있다.
물론, settings.json을 수정하는 방법을 통해서도 가능하지만 소개한 방법이 조금 더 직관적일듯 싶다
참고:
https://github.com/PyCQA/pylint/issues/2426
반응형