
문제상황파이참에서 일반모드는 정상적으로 실행이되지만 디버깅을 하기위해 실행을 하면 정상적으로 실행이 되지 않는 경우가 있다 . 보통 pyqt를 사용하는 경우이다. 해결방법간단하다. 아래 사진에서 PyQt compatible에 auto로 되어있는데 정확한 Qt 버전을 명시해주자.

간단하게 사용하지 않으면 어떻게 사용해야 하는데?아래 명령어를 CMD창에 입력해야한다.물론 CLI가 더 편한 사람은 그대로 사용해도 무방하다.pyinstaller main.spec -y 하지만 GUI가 더 편한 사람이라면 아래 설정에 들어가서 배포를 등록해주고..배포를 더블클릭에서 나오는 입력창에 아래 처럼 입력이후에 *.spec 파일 우클릭 후 External Tool에 등록했던 배포를 클릭해주면 된다.

왜 그럴까?이유는 간단하다파이참에서 읽을 때와 pyinstaller로 배포한 상태에서 읽는 것이 다르기 때문이다.코드에서는 그럼 어떻게 해결해?아래 코드를 보자.코드를 살펴보면 배포되었을 때와 파이참에서 실행 중일때의 코드가 분기문으로 처리되고 있다.해당 코드를 유틸로 만들어서 사용하면 좋을 듯하다.if getattr(sys, 'frozen', False) and hasattr(sys, '_MEIPASS'): # 배포되었을 때 # When running in a PyInstaller bundle base_path = sys._MEIPASS print('Running in a PyInstaller bundle')else: # 파이참에서 실행 할 때 # When runnin..