문제점 PyQt5를 이용한 사내 프로그램을 Pyinstaller로 배포하여 사용하던 중, 잘 되던 PC에서 Button click event가 정상적으로 동작하지 않고 아무런 에러 메세지 없이 freezing 되는 현상이 발생하였다. 프로그램 흐름도는 이렇다.
START Button을 누르면 GUI의 Freezing 현상을 막기 위해서 QThread Class를 새로 생성하여 이미지 처리 작업 및, Tensorflow 를 통하여 미리 학습된 Model을 불러와 이미지를 생성하여 저장하는 로직이다. 그런데 Pyinstaller 옵션 중 --noconsole (--windowed) 옵션을 넣어서 콘솔 창을 없애면 Loading된 Model 을 Predict 할 때 아무런 동작 없이 루프에 빠지는 문제점이 발생하였다. tensorflow, pyinstaller의 버전을 변경하거나, QThread 동작 방식을 살짝씩 변경하는 등 여러 수단을 사용해보았지만 모두 freezing 현상이 동일하...