PEP 440 : Python 패키지의 버전 관리 표준
**PEP 440**은 Python 패키지의 **버전 관리 표준**을 정의하여, 패키지 버전을 일관성 있게 관리할 수 있도록 돕습니다. PyPI나 `pip` 등 Python 생태계에서 버전을 자동으로 인식하고 처리할 수 있게 하는 기준이기 때문에, **패키지를 배포할 때 PEP 440을 따르면 호환성과 유지보수 측면에서 좋습니다.**
### PEP 440의 주요 규칙 요약
1. **기본 형식**: `X.Y.Z` 형식(예: `1.0.0`)
- **`X`**: Major (주 버전) - 큰 변화나 호환성 깨짐이 발생할 때.
- **`Y`**: Minor (부 버전) - 기능 추가와 같이 호환되는 변경이 있을 때.
- **`Z`**: Patch (수정 버전) - 작은 수정이나 버그 수정을 할 때.
2. **사전 릴리스 버전**: 알파, 베타, 릴리스 후보 등
- **알파**: `X.YaN` (예: `1.0a1`)
- **베타**: `X.YbN` (예: `1.0b1`)
- **릴리스 후보**: `X.YrcN` (예: `1.0rc1`)
- 숫자 `N`은 해당 단계에서 몇 번째 사전 릴리스인지 표시합니다.
3. **포스트 릴리스**: `X.Y.postN` 형식
- 배포 후 문서 업데이트 같은 추가 변경을 포함할 때 사용합니다.
4. **개발 릴리스**: `X.Y.devN` 형식
- 아직 정식 릴리스 전인 개발 버전을 나타내며, 개발 단계에서 사용합니다.
5. **로컬 버전 식별자**: `+`를 사용해 로컬 환경에서만 사용하는 버전 표시 가능
- 예: `1.0.0+local.1`
### 버전 예시
- **1.0.0**: 기본 릴리스
- **1.1.0a1**: 1.1의 첫 알파 버전
- **2.0.0rc1**: 2.0의 첫 번째 릴리스 후보
- **1.2.0.post1**: 1.2 릴리스 후 추가 변경
- **1.0.0.dev1**: 1.0의 첫 개발 버전
**요약**: PEP 440은 Python 패키지 버전 번호에 대한 표준 규칙을 정의하여 일관성과 호환성을 유지할 수 있도록 합니다. `X.Y.Z` 형식을 기본으로 사전/후속/개발 릴리스 등을 명확하게 구분할 수 있습니다.
댓글
댓글 쓰기