1.9 KiB
1.9 KiB
⚠️ Nuitka 빌드 경고
문제 상황
이 프로젝트는 502개의 Python 파일과 5700+ 컴파일 대상을 가지고 있어서 Nuitka 빌드가 매우 오래 걸립니다.
현재 문제점
- 빌드 시간: 24시간 이상 소요 (비정상적)
- 링킹 단계: 5700+ 파일을 링크하는 과정에서 멈춤
- 메모리 사용: 대량의 메모리 필요
- 프로젝트 규모: Nuitka에 비해 프로젝트가 너무 큼
권장 사항
✅ 옵션 1: cx_Freeze 계속 사용 (권장)
장점:
- 이미 작동하는 빌드 시스템
- 빌드 시간: 5-10분
- 안정적이고 검증됨
단점:
- 코드 보호 수준이 낮음 (하지만 실용적)
사용법:
python setup_non_img.py build
✅ 옵션 2: PyInstaller 사용
장점:
- cx_Freeze보다 약간 나은 코드 보호
- 빌드 시간: 10-15분
- Nuitka보다 빠름
단점:
- 여전히 디컴파일 가능
사용법:
pip install pyinstaller
pyinstaller main.spec
⚠️ 옵션 3: Nuitka 계속 시도 (비권장)
조건:
- 매우 강력한 PC (32GB+ RAM, SSD)
- 몇 시간의 빌드 시간 감수
- 실패 가능성 높음
최적화된 빌드:
python build_nuitka.py
코드 보호 수준 비교
| 도구 | 보호 수준 | 빌드 시간 | 권장 여부 |
|---|---|---|---|
| cx_Freeze | ⭐⭐ | 5-10분 | ✅ 권장 |
| PyInstaller | ⭐⭐⭐ | 10-15분 | ✅ 고려 |
| Nuitka | ⭐⭐⭐⭐ | 24시간+ | ❌ 비권장 |
결론
이 프로젝트 규모에서는 cx_Freeze가 가장 실용적입니다.
코드 보호가 절실히 필요하다면:
- 핵심 모듈만 Nuitka로 빌드
- 나머지는 cx_Freeze로 빌드
- 두 빌드를 조합하여 사용
또는:
- 코드 난독화 도구 사용 (PyArmor 등)
- 서버 측 로직으로 이동
- 라이선스 검증 강화