소프트웨어 개발에서 흔히 쓰이는 '빌드(Build)'와 '프리빌드(Pre-build)', 그리고 파이썬 생태계에서 자주 등장하는 .whl 파일. 이 용어들이 어떻게 연결되고 어떤 역할을 하는지 헷갈리셨다면, 이 글에서 그 궁금증을 명쾌하게 해결해드립니다.
'프리빌드(Pre-build)'는 이름 그대로 빌드가 시작되기 전에 실행되는 작업을 뜻합니다. 이는 단순한 환경 세팅을 넘어, 빌드의 성공률을 높이고, 반복 작업을 자동화하며, 오류를 사전에 방지하는 데 핵심적인 역할을 합니다.
코드 생성
환경 설정 및 검증
리소스 복사/이동
정적 분석 및 린팅
테스트 실행
이처럼 프리빌드는 안정적이고 일관된 빌드 환경을 자동화하는 데 초점이 맞춰져 있습니다.
| 단계 | 시점 | 주요 역할 |
|---|---|---|
| 프리빌드 | 빌드 이전 | 코드 생성, 환경 검사, 린팅, 테스트 등 |
| 포스트빌드 | 빌드 이후 | 결과물 배포, 압축, 로그 생성 등 |
둘은 빌드 자동화 워크플로우의 핵심 구성요소이며, CI/CD 파이프라인에서도 자주 등장합니다.
.whl 파일은 무엇인가?파이썬 개발자라면 pip install some_package.whl처럼 .whl 파일을 설치해 본 경험이 많을 겁니다. 여기서 .whl 파일은 바로 빌드된 파이썬 패키지의 배포판(Built Distribution)입니다.
.whl 파일 생성은 빌드 과정소스 작성 → 빌드 명령 실행 → 패키징 → .whl 생성의 흐름을 따릅니다.
C/C++ 등 네이티브 확장 모듈이 있다면 이 과정에서 컴파일도 수행됩니다.
명령 예시:
python -m build
또는
python setup.py bdist_wheel
.whl 파일 설치는 압축 해제 & 파일 배치사용자가 pip install로 .whl을 설치할 때는 별도의 컴파일 없이:
이 과정은 빠르고 안정적이며, .tar.gz 같은 소스 배포판보다 훨씬 효율적입니다.
| 용어 | 설명 |
|---|---|
| 빌드(Build) | 소스 코드 → 실행 가능 또는 배포 가능 형태로 변환 |
| 프리빌드(Pre-build) | 빌드 전에 실행되는 준비 작업 |
| 프리빌트(Pre-built) | 이미 빌드되어 있어, 설치 시 컴파일이 필요 없는 상태 (예: .whl 파일) |
.whl은 배포의 완성.whl 파일은 빌드 결과물로, 컴파일을 생략하고 빠르게 설치할 수 있도록 돕습니다.