UV란?

wldbs._.·2025년 7월 31일
0

SW

목록 보기
7/8
post-thumbnail

LLM 관련 과제를 진행하고 있는데, 가상환경을 구성해야 하는 경우가 발생한다.
이전에는 venv를 사용하여 가상환경 구축 후 코드를 작성하였는데,
파이썬의 uv는 보다 손쉽게 활용할 수 있다 하여 이에 대해 알아보고자 한다.


UV에 대하여

uvPython 패키지 관리 및 가상환경 관리 도구 중 하나로, 최근 빠르게 주목받고 있는 초고속 패키지 매니저이다.

  • 쉽게 말해, pip + venv + pip-tools 같은 기존 도구들의 기능을 합쳐서 더 빠르고 단순하게 만든 도구라고 생각하면 된다.

🔍 uv의 주요 특징

1️⃣ 빠른 속도

  • Rust로 작성돼서, pip, pipenv, poetry보다 훨씬 빠르다.
  • 패키지 설치 속도가 수 초 내로 끝나는 경우가 많다.

2️⃣ 가상환경 자동 관리

  • uv venv 명령으로 가상환경을 만들고, 자동으로 Python 버전까지 맞춰준다.
  • 가상환경 경로를 따로 관리할 필요 없이 프로젝트별 .venv 같은 디렉토리에 알아서 생성.

3️⃣ pip와 호환

  • 기존 requirements.txt를 그대로 사용할 수 있고,
  • pip install처럼 uv pip install로 거의 동일하게 사용 가능하다.

4️⃣ 패키지 관리 통합

  • 가상환경 생성, 패키지 설치, requirements 관리까지 한 번에 처리 가능.
  • poetry처럼 의존성 잠금(uv lock)도 지원.

📦 자주 쓰는 uv 명령어

# ✅ uv 설치 (처음 한 번만)
pip install uv
# ✅ 새로운 가상환경 만들기
uv venv

👉 .venv 폴더가 생기고, 여기에 Python 환경이 구성됨.

# ✅ 가상환경 활성화
source .venv/bin/activate   # macOS/Linux
.venv\Scripts\activate      # Windows
# ✅ 패키지 설치 (pip 대신 사용)
uv pip install requests
# ✅ requirements.txt 설치
uv pip install -r requirements.txt
# ✅ requirements.txt 업데이트
uv pip freeze > requirements.txt

🔮 Streamlit - uv

아래 명령어는 Streamlit을 실행하기 위해 uv를 구성한 것이다.

uv init
uv add streamlit openai pymilvus # -> .venv 폴더 생성
uv run streamlit run app.py # app.py 코드 실행

🚀 왜 uv를 쓰면 좋은가?

  • pip + venv처럼 여러 명령어를 왔다갔다 안 해도 됨
  • poetry처럼 복잡하지 않고, 더 빠름
  • 가상환경 & 패키지 관리가 통합돼서 개발 환경 세팅이 단순해짐

👉 정리

정리하면:
uvPython 가상환경 생성 + 패키지 관리를 초고속으로 처리해주는 차세대 도구
pip/venv 조합보다 훨씬 빠르고 간단하고, poetry보다 가벼움

참고

profile
공부 기록용 24.08.05~ #LLM #RAG

0개의 댓글