LLM 관련 과제를 진행하고 있는데, 가상환경을 구성해야 하는 경우가 발생한다.
이전에는 venv를 사용하여 가상환경 구축 후 코드를 작성하였는데,
파이썬의 uv는 보다 손쉽게 활용할 수 있다 하여 이에 대해 알아보고자 한다.
uv는 Python 패키지 관리 및 가상환경 관리 도구 중 하나로, 최근 빠르게 주목받고 있는 초고속 패키지 매니저이다.
pip + venv + pip-tools 같은 기존 도구들의 기능을 합쳐서 더 빠르고 단순하게 만든 도구라고 생각하면 된다.1️⃣ 빠른 속도
pip, pipenv, poetry보다 훨씬 빠르다.2️⃣ 가상환경 자동 관리
uv venv 명령으로 가상환경을 만들고, 자동으로 Python 버전까지 맞춰준다..venv 같은 디렉토리에 알아서 생성.3️⃣ pip와 호환
requirements.txt를 그대로 사용할 수 있고,pip install처럼 uv pip install로 거의 동일하게 사용 가능하다.4️⃣ 패키지 관리 통합
poetry처럼 의존성 잠금(uv lock)도 지원.# ✅ 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를 구성한 것이다.
uv init
uv add streamlit openai pymilvus # -> .venv 폴더 생성
uv run streamlit run app.py # app.py 코드 실행
pip + venv처럼 여러 명령어를 왔다갔다 안 해도 됨poetry처럼 복잡하지 않고, 더 빠름정리하면:
✅ uv는 Python 가상환경 생성 + 패키지 관리를 초고속으로 처리해주는 차세대 도구
✅ pip/venv 조합보다 훨씬 빠르고 간단하고, poetry보다 가벼움
참고