AutoPercenty3/NUITKA_BUILD_WARNING.md

1.9 KiB

⚠️ Nuitka 빌드 경고

문제 상황

이 프로젝트는 502개의 Python 파일5700+ 컴파일 대상을 가지고 있어서 Nuitka 빌드가 매우 오래 걸립니다.

현재 문제점

  1. 빌드 시간: 24시간 이상 소요 (비정상적)
  2. 링킹 단계: 5700+ 파일을 링크하는 과정에서 멈춤
  3. 메모리 사용: 대량의 메모리 필요
  4. 프로젝트 규모: 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가 가장 실용적입니다.

코드 보호가 절실히 필요하다면:

  1. 핵심 모듈만 Nuitka로 빌드
  2. 나머지는 cx_Freeze로 빌드
  3. 두 빌드를 조합하여 사용

또는:

  • 코드 난독화 도구 사용 (PyArmor 등)
  • 서버 측 로직으로 이동
  • 라이선스 검증 강화