2. 라이브러리 버전 관리

2023. 12. 27. 15:32NAVER AI Tech/Computer Science

버전(Version) : 소프트웨어 제품의 특정 릴리스에 대한 고유한 식별자

1. CalVer(Calendar Versioning) 방식 : Ubuntu 20.04(20년 4월 수정)

2. SemVer(Semantic Versioning) 방식 : python 3.11.0

    - 이전 버전과 호환되지 않는 변경이 있으면 주 번호를 증가.

    - 이전 버전과 호환되며 새로운 기능이 추가되었으면 부 번호 증가

    - 이전 버전의 버그 수정이 진행되면 패치 번호 증가.

3. HashVer(Hash Versioning) : 해시 알고리즘을 사용하여 고유 식별자를 생성 ex) Git commit 7e6d3fd

 

프로젝트 문서화 시 각 라이브러리의 버전은 readme 상단에 명시해주어야 한다.

 

파이썬 라이브러리 설치 시 다양한 방법이 존재.

 

 

가상환경 : 하나의 컴퓨터 내에서 여러 프로젝트를 진행할 때 버전의 호환성 문제를 방지하기 위해 사용

 

패키지 매니저 : pip, poetry, conda 등등

- 라이브러리(=패키지)를 설치하고, 삭제해주는 프로그램

 

pip : 개발 환경과 배포 환경의 패키지가 분리되지 않는 단점이 존재. + 패키지간 의존성을 알 수 없음(삭제할 때 의존성 패키지들이 함께 삭제되지 않고 남아있음)

 

poetry : pip 단점을 개발한 패키지 매니저

- 개발, 운영 환경 구분하여 패키지 설치 가능 + 패키지간 의존성 확인할 수 있음

 

conda : pip와 비슷하게 동작하는 가상환경 생성 및 패키지 설치까지 해주는 큰 프로그램.

'NAVER AI Tech > Computer Science' 카테고리의 다른 글

7. MLOps  (0) 2023.12.28
6. Debugging  (0) 2023.12.28
4. Docker  (1) 2023.12.28
3. 리눅스(Linux)  (1) 2023.12.27
1. Software Engineering  (0) 2023.12.27