[python] uv 패키지 관리 툴

JJeong723·2025년 3월 30일

python

목록 보기
5/5

uv는 패키지 설치 및 관리와 패키지 빌드 및 배포까지 관리하는 파이썬 종속성/패키지/프로젝트 관리 툴임.
기존에 pip, poetry 등 다양한 관리 툴이 존재하지만, 이 모두를 대체할 수 있다고 생각함
가장 큰 특징은 RUST로 만든 프로그램으로서 빠른 속도를 자랑함.

설치

설치는 하기와 같음

curl -LsSf https://astral.sh/uv/install.sh | sh

pip 기반으로 설치도 가능하지만, 특정 환경에 구애받지 않고 설치하는 것이 좋다고 생각하여 전역으로 설치 추천

Step-by-step

uv init [project_folder] -p 3.12 # python version 3.12
cd project_folder
  • pyproject.tomluv.lock파일이 생성됨
uv add [package_name]
  • 패키지 설치
  • 개발용 의존성 설치시, --dev 추가하면 됨
    • 개발용 의존성은 배포시 제외 옵션설정 가능
    • 주로 ipykernel 등을 활용할때 사용 가능
uv sync
  • uv.lock파일을 읽어 의존성 설치
    • 다른 프로젝트 파일을 로컬로 가져와 의존성 설치할때 활용
    • 가상환경이 없다면 자동생성
un run python test.py
  • 해당 폴더의 가상환경에서 실행하는 명령어
    • 가상환경의 activate하지 않아도 됨
# hash값 없고 dev 제외
uv export -o requirments.txt --no-hashes --no-dev
  • requirement.txt 만드는 방법

pip 등의 legacy 연동

uv venv .venv 

.venv 로 가상 환경이 만들어짐
파이썬 환경 설정 및 자동 설치를 하려면 하기 명령어로 설정 가능

uv venv -p 3.13

위 커맨드로 python3.13으로 파이썬 환경 설정 가능 (해당 파이썬 버젼이 없다면 자동 설치 진행)

uv pip install [package name]
  • 패키지 설치는 pip에서 uv 만 추가하면 되는 명령어로 설치 가능
  • 이럴 경우, uv 패키지 관리하는 pyproject.tomluv.lock파일에 연동되지 않음

pip 설치패키지 > uv.lock 적용

  • uv pip install 설치시, uv.lock으로 관리되지 않음
    • 설정관리를 일원화 하기 위하여 하기 과정을 적용할 필요가 있음
      1. requirement.txt 생성
        uv pip freeze > requirement.txt
      2. requirement.txt를 uv add 설치
        uv add requirement.txt

Reference

profile
이것저것 글쓰는 TPM 지망자

0개의 댓글