빌드 / 배포 (2025-10-02)
기능적으로는 꽤 만족스러운 상태였는데, 막상 실행 파일로 만들어보니까 문제가 계속 터졌다.
이 시점부터는 코드보다 “빌드 결과물”이 더 신경 쓰이기 시작했다.
처음부터 Nuitka를 쓴 건 아니었다.
초기에는 PyInstaller를 사용했다.
설정도 간단하고, exe 만드는 속도도 빠르고, 무엇보다 처음 접근하기가 쉬웠음.
그래서 초반에는 별 고민 없이 PyInstaller로 빌드했다.
문제는 실제로 실행해봤을 때였다.
실시간으로 파일을 분석하는 구조에서는 PyInstaller로 만든 exe가 체감상 꽤 느렸다.
실행 시작도 느렸고, 파일을 열 때나 분석을 시작할 때 묘하게 한 박자씩 딜레이가 느껴짐.
그래서 다른 방법이 없나 찾아보고 Nuitka로 방향을 바꿨다.
Python 코드를 C로 변환해서 컴파일해주는 구조라 빌드 난이도는 훨씬 높았지만, 실행 속도는 확실히 차이가 났음.
실제로 같은 파일을 열고 분석해보면 Nuitka 빌드 쪽이 반응이 더 빠르게 느껴졌다.
다만 문제는 여기서부터였다.
Nuitka로 빌드한 exe가 리소스 파일을 제대로 못 찾는 문제가 계속 발생했음.
이미지, 설정 파일, UI 리소스들이 실행 위치에 따라 인식되기도 하고 안 되기도 했다.
처음에는 코드 문제인 줄 알고 Analyzer랑 Editor 쪽만 계속 봤다.
경로를 잘못 쓴 건가 싶어서 여기저기 로그도 찍어봤음.
근데 알고 보니 문제는 코드가 아니라 빌드 스크립트랑 리소스 경로 처리였다.
PyInstaller에서는 내부적으로 처리해주던 부분을 Nuitka에서는 직접 챙겨야 했다.
이날은 코드보다 배치 파일을 더 많이 봤음.
리소스 경로를 exe 기준으로 다시 잡고, 실행 위치와 상관없이 동일하게 동작하도록 구조를 수정했다.
빌드 스크립트도 하나씩 정리하면서 불필요한 옵션들도 정리함.
솔직히 말해서 재미있는 작업은 아니었다. 눈에 보이는 기능 변화도 없고, 시간은 계속 들어가는데 결과는 잘 안 보였음.
그래도 이 과정을 거치면서 “배포까지 돼야 개발이 끝난다”는 걸 다시 한 번 실감했다.
아무리 기능이 좋아도 사용자가 실행을 못 하면 의미가 없다.
이날은 그걸 아주 제대로 체감한 날이었다.
'끄적 > 개발일기' 카테고리의 다른 글
| SAFE EDIT 개발 일기 ⑥ (0) | 2025.12.20 |
|---|---|
| SAFE EDIT 개발 일기 ⑤ (0) | 2025.12.20 |
| SAFE EDIT 개발 일기 ③ (0) | 2025.12.18 |
| SAFE EDIT 개발 일기 ② (0) | 2025.12.16 |
| SAFE EDIT 개발 일기 ① (0) | 2025.12.15 |