ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 파이썬 버전 관리
    CS 공부/AI 2023. 4. 25. 17:09

    버전과 버저닝

    • 버전: 소프트웨어 제품의 특정 release에 대한 고유한 식별자, 지속적으로 개발, 릴리즈 하는 경우 필요
    • 버저닝: 소프트웨어의 Unique한 버전 이름, 버전 번호를 할당하는 과정

    버저닝 방법

    • CalVer(Calender Versioning)
      • 날짜 기반 시스템을 사용해 버전 번호를 할당 (연도와 월)
      • 이해하기 쉬우며, 출시 시기를 예측하기 수월
      • ex. Ubuntu 20.04
    • SemVer(Semantic Versioning)
      • 마침표로 구분된 주 번호, 부 번호, 패치 번호로 구성
      • 이전 버전과 호환되지 않은 변경이 있는 경우 주 번호가 증가
      • 이전 버전과 호환되며 새로운 기능이 추가되면 부 번호 증가
      • 이전 버전의 버그 수정이 진행되면 패치 번호가 증가
      • ex. Python 3(주).11(부).0(패치)
    • HashVer(Hash Versioning)
      • 해시 알고리즘을 사용해 버전에 대해 고유한 식별자 생성
      • 코드가 변경될 때마다 해시가 변경되므로 모든 버전이 고유한 식별자 가짐
      • ex. Git commit 7e6d3fd

    파이썬 3.11 설치

    1. Docker로 파이썬 3.11.0 이미지 설치: docker pull python
    2. 패키지 관리자(brew,apt,winget)로 설치
    3. pyenv install 3.11.0, CLI로 설치 (추천)

    출처: NAVER connect foundation

    가상환경

    • venv: python -m venv "가상환경 폴더 경로", source "경로"/bin/activate
    • conda
    • pyenv-virtualenv
    • pipenv

    패키지 매니저

    • 패키지를 설치하고, 버전을 관리하는 것
    • 파이썬 패키지 매니저 : pip, poetry, conda
    • pip의 문제점
      • 개발 환경과 배포 환경의 패키지가 분리되지 않음
      • pip list로는 패키지간 의존성을 알 수 없음
      • pip uninstall 시 의존성이 있던 패키지들은 삭제되지 않음
      • 즉, pip로는 정교하게 패키지 관리를 할 수 없음
    • pip의 문제를 해결하기 위해 poetry가 등장
      • 파이썬 프로젝트에 대한 버저닝을 파일 내에서 할 수 있음
      • 개발, 운영 환경 구분하여 패키지 설치 가능
      • 설치한 패키지와 간접적으로 설치된 패키지들간의 의존성 볼 수 있음
      • 특정 패키지 삭제 시 의존성 패키지 삭제 가능

    'CS 공부 > AI' 카테고리의 다른 글

    MLOps 개론  (0) 2023.04.27
    Linux 쉘 스크립트  (0) 2023.04.25
    소프트웨어 엔지니어링  (0) 2023.04.24
    📂 3D dataset & 3D task  (0) 2023.04.07
    Multi-modal learning  (0) 2023.04.06
Designed by Tistory.