Python 패키지를 배포할 때, 주로 사용되는 두 가지 포맷이 있습니다: 소스 배포(sdist
)와 휠 배포(bdist_wheel
). 이 두 포맷은 Python 코드와 리소스를 패키징하는 방법에 있어 차이를 가집니다.
sdist
): 패키지의 소스 코드를 포함하며, 사용자가 직접 빌드해야 합니다. 모든 환경에서 사용 가능하나, 설치 과정이 더 복잡하거나 시간이 더 걸릴 수 있습니다.bdist_wheel
): 바이너리 형태의 패키지로, 빠르고 쉽게 설치할 수 있습니다. 플랫폼에 따라 다른 바이너리가 필요할 수 있으나, 대부분의 순수 Python 패키지에서는 플랫폼 독립적인 휠을 제공할 수 있습니다.휠 포맷이 소스 배포에 비해 여러 이점을 제공하기 때문에, 가능한 한 휠 포맷을 사용하여 패키지를 배포하는 것이 권장됩니다.
sdist
)는 패키지의 소스 코드를 포함하는 배포 파일입니다. 이 포맷은 패키지의 원본 소스 코드, 메타데이터, 스크립트 등을 압축한 파일(.tar.gz
, .zip
등)로 구성됩니다.sdist
는 사용자가 소스 코드를 직접 컴파일하거나, python setup.py sdist
를 실행하여 소스 배포 파일을 생성bdist_wheel
)는 Python의 바이너리 패키지 포맷.whl
)은 설치가 더 빠르고, 컴파일 없이 설치할 수 있으며, 시스템 구성이나 컴파일러 의존성에 대한 걱정 없이 사용할 수 있게 설계wheel
패키지를 설치한 후, python setup.py bdist_wheel
를 실행하여 휠 배포 파일을 생성