Logo 파이썬

wheel 배포 — 휠로 빠른 설치

다람쥐 | 04.27 | 조회 106 | 좋아요 0

wheel(.whl)은 「사전 빌드된 파이썬 패키지」 형식입니다.

pip install이 매번 컴파일 안 하고 wheel을 받아 즉시 설치 가능 — 설치 속도와 안정성이 크게 개선됩니다.



기존 방식의 문제.

옛날엔 source distribution(sdist, .tar.gz)만 있어서 pip install 할 때마다 컴파일.

C 코드 의존하는 패키지(NumPy 등)는 사용자 환경에 컴파일러·헤더 없으면 실패.



wheel의 등장(PEP 427).

미리 컴파일해 둔 바이너리.

.whl 파일은 「플랫폼·파이썬 버전」별로 따로 — numpy-1.24.0-cp310-cp310-macosx_10_9_x86_64.whl 식.

pip가 자동으로 환경에 맞는 걸 선택.



빌드.

패키지 작성 시 python -m build로 .whl 자동 생성.

C 확장 없는 순수 파이썬은 「universal wheel」(any 플랫폼).

C 확장 있으면 cibuildwheel 같은 도구로 여러 플랫폼용을 자동 빌드.



manylinux.

리눅스 wheel은 「manylinux1·manylinux2014·manylinux_2_28」 같은 표준이 있어 「대부분의 리눅스 배포판에서 동작」 보장.

NumPy·SciPy 같은 C 확장 패키지가 모두 manylinux wheel을 제공해 즉시 설치됩니다.




한 줄 요약


wheel(.whl)은 사전 빌드된 패키지로 pip 설치가 매번 컴파일 없이 즉시.

플랫폼·버전별 따로, manylinux 표준으로 리눅스 호환성 확보.

cibuildwheel로 다중 플랫폼 자동 빌드.




더 알아볼 것


- sdist vs wheel 차이

- cibuildwheel — CI에서 wheel 빌드

- pure Python wheel — universal

공유하기
목록보기

목록보기
신고하기

신고 사유를 선택해 주세요.