본문 바로가기
Python

QT Designer로 작성한 Python 프로그램 실행 파일 생성 시 에러 해결

by 아짱이아빠 2021. 11. 30. 20:22
반응형

올 초에 QT Designer와 파이썬으로 만든 프로그램을 Pyinstaller를 이용하여 실행 파일을 만들려고 했으나 아래와 같은 크게 두 가지의 에러가 발생하였다.

현재는 며칠간의 노력 끝에 에러를 해결하고 무사히 실행 파일을 만들었고 다음에 또 이런 에러가 발생했을 때 찾아보기 위하여 까먹기 전에 기록해 두려고 한다.

혹시 이와 비슷한 유형의 에러로 고생하고 있는 사람이 있다면 참고하면 좋을 것 같다.

 

에러(1)

[Exception: Cannot find existing PyQt5 plugin directories.

Paths checked: C:/Users/·¹º§¿¡ ¸Â/AppData/Roaming/Python/Python39/Site-packages/PyQt5/Qt/plugins]

 

첫 번째는 Pyinstaller를 사용하여 실행 파일을 만드는 과정에서 중간에 위 제목과 같은 에러가 발생하는 것이다.

에러의 내용은 PyQt5 Plugin 디렉터리를 찾을 수 없다는 것이며 인터넷 상에서 해결 방법으로 제시하고 있는 대부분의 내용은 PyQt5를 재설치하거나 체크한 경로에 plugins 폴더에 있는 내용을 복사해서 붙여 넣는 것이다.

또 한가지는 체크된 경로에서 pyinstaller를 실행해 보라는 것이다.

 

그러나 나의 경우는 모두 에러가 해결되지 않았다.

그러던 중 눈치챘을지 모르겠지만 위의 제목에서 보듯이 내 PC에는 경로 중에 한글명의 폴더가 있었다.

맨 처음 이 에러가 발생했을 때 의심을 하긴 했으나, 이 에러가 발생하기 전까지의 보이는 코멘트 창에서의 진행 내역에는 한글명 폴더를 잘 인식하고 있는 것으로 보여 그냥 두었었다.

게다가 PyQt5를 사용하지 않았던 파이썬 프로그램은 이 한글 폴더명에도 실행 파일로 잘 만들어졌었다.

 

하지만 원인은 바로 이 한글명 폴더였다.

결론적으로 이 폴더를 영문으로 바꾸니깐 에러가 발생하지 않고 실행 파일이 생성되었다.

 

이 한글명 폴더는 Users 폴더 하위에 있는 폴더로서 PC의 계정명이 한글이어서 생긴 것이다.

그러므로 PC의 계정을 영어로 바꿔야 하며 폴더명까지 영어로 바꾸기는 조금 까다롭다.

PC 계정을 영문으로 바꾸는 법은 인터넷에 많이 나와 있으며 간단히 정리하면 아래의 순서와 같다.

 

(1) 제어판-->사용자 계정--> 계정 유형 변경--> 계정 이름 변경

(2) 명령프롶프트(CMD)를 관리자 권한으로 실행하여 아래와 같이 입력

     > net user administrator /active:yes

(3) 현재 계정에서 로그아웃

(4) Administrator 계정으로 로그인

(5) 사용자 폴더 이름 변경

(6) 윈도우+R을 누르고 ‘regedit’ 입력

(7) 레지스트리 편집기에서 왼쪽 폴더 목록은 다음의 경로를 찾아간다

     HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ProfileList\

(8) ProfileList의 값들 중 경로가 이전의 한글 계정으로 되어 있는 계정이 있다면 찾아서 변경한 영문 계정

    이름으로 변경한다.

(9) Administrator 로그 아웃 후 바뀐 영어명 계정으로 로그인

(10) 명령프롬프트(CMD)를 관리자 권한으로 실행하여 아래와 같이 입력하면 끝

    > net user administrator /active:no



에러(2)

[this application failed to start because no qt platform plugin could be initialized.

reinstalling the application may fix this problem]

 

만들어진 실행파일을 실행하려니깐 위와 같은 이름의 실행 오류가 떴다.

역시 이에 대해 인터넷 상에서 가장 많이 제시하는 방법이 PyQt5를 재설치하는 것이다.

그러나 이 문제는 만들어진 실행파일이 있는 폴더에 ~PyQt5\Qt]\plugins 경로 안에 있는 “platforms” 폴더 전체를 복사해 넣어두면 에러가 발생하지 않고 잘 실행된다.

 

반응형

 

왜 이렇게 해결되는지는 아직 모르겠다.

pyinstaller를 이용하여 실행 파일을 만들때 실행 파일 한 개만 만들어지도록 “pyinstaller -w -F 파일명.py”를 했는데 실행파일 단독으로는 실행되지 않는 것이다.

 

어쨌든 위의 두 에러로 실행 파일 하나 만들어 실행시키는데 3일은 걸렸다.

혹시 이와 비슷한 문제로 고민하고 있는 사람이 있다면 참고하길 바란다.

 

끝으로 PyQt5를 이용한 프로그램에서 실행되지 않고 다음의 에러가 발생하는 경우에 대해서 해결하는 방법은 아래의 링크에 있다.

 

qt.qpa.plugin: Could not find the Qt platform plugin "windows" in ""

 

 

Python PyQt5의 Qt Platform plugin 에러 해결

최근 파이썬을 3.9 버전을 새로 설치하고 PyQt5를 이용하여 예전에 만든 프로그램을 실행시키려고 하는데 아래와 같은 에러가 발생하였다.  qt.qpa.plugin: Could not find the Qt platform plugin "windows" in..

superhky.tistory.com

 

 

반응형

댓글