본문 바로가기

HOW/Python

[Python] PyQt가 설치되어 있는데 VS Code에서 에러 발생시 해결방법

파이썬을 사용해서 프로그래밍을 하다 보면 PyQt 등의 Gui 라이브러리를 사용할 때가 있습니다. 사실 만년 Cui로 프로그램을 만드는 것을 합리적이지 않고 사용자 친화적인 방식도 아니기 때문입니다. 사실 PyQt는 Qt의 파생품? 시리즈? 정도로 보시면 됩니다. Qt는 웬만한 대부분의 프로그래밍 언어를 지원하는 Gui 라이브러리로서 많이 사용되고 있습니다.

 

서론이 길었습니다. 여튼 PyQt를 활용해서 Gui 프로그래밍을 하려고 보면 가끔 VS Code에서 에러를 내뿜을 때가 있습니다. (해결 방법을 바로 찾고 싶으시다면 쭈욱 내리시기 바랍니다. 찾는 과정이 작성되어 있습니다.)

 

이렇게 말이죠. from에 밑줄이 쳐져있다는 것은 모듈을 불러오는 데에 문제가 생겼다는 것입니다. 한번 에러 내역을 보겠습니다.

 

No name 'QWidget' in module 'PyQt5.QtWidgets' 에러를 표시하고 있는 VSC

No name 'QWidget' in module 'PyQt5.QtWidgets'

역시나 맞습니다. PyQt5 패키지 중 QtWidgets 모듈에서 QWidget 클래스를 못 찾아왔다고 합니다. 흠... PyQt가 설치가 제대로 되지 않아서일까요?

 

아닙니다. 잘만 설치되어 있습니다. 그럼 왜 이런 문제가 발생한 걸까요? 구글의 힘을 빌려봅시다.

 

스택 오버 플로어(지식iN 코딩 버전)에서 해당 내용을 찾을 수 있었습니다. 저와 에러코드는 일부 달랐으나 증상은 동일했기에 참고하였습니다.

 

답변을 보니 'Pylint는 C 익스텐션을 기본적으로 실행하지 않는다. 따라서 프로젝트 디렉터리에 파일을 추가해 주어야 한다' 정도인 것 같습니다. 무슨 파일을 추가해 주어야 하나 보니 ".pylintrc"라는 이름의 파일에 "extension-pkg-whitelist=PyQt5"라는 내용을 추가해 주어야 한다고 합니다. 곧바로 진행해 보겠습니다.


우선 파일을 생성하고

 

해당 내용을 작성해 주었습니다. 지금보니 익스텐션 패키지 중에서 화이트 리스트를 추가한다는 의미인 듯합니다.

 

그러고 컨트롤+C를 활용해 다시 로드해 보면 문제가 해결됩니다! 간단하죠? 도대체 왜 이런 문제가 생기나 싶어 pip로 패키지 다시 설치하고 했던 삽질을 생각해 보면 무척이나 쉬운 해결 방법입니다.. (주륵)

 

.pylintrc
0.00MB

추가로 해결을 도와주는 파일을 첨부하였으니 직접 입력하기 귀찮으시면 이 파일을 프로젝트 폴더에 추가하시기 바랍니다.

'HOW > Python' 카테고리의 다른 글

[Python] 나이스 학교코드 크롤링하는 방법  (0) 2020.01.30