
기존 파이썬 환경 설정(pyenv, pip 등)은 꽤나 번거롭고 속도가 느렸습니다. 또한 의존성 충돌도 발생할 수 있기에 고민이 되었습니다.
Rust로 작성된 차세대 패키지 매니저 uv는 기존 도구들을 대체하는 압도적인 속도와 cargo 스타일의 통합된 워크플로우를 제공합니다.
이번 포스팅에서는 Ubuntu 환경에서 uv를 설치하고, 가장 빠르고 안전하게 파이썬 개발 환경을 구축하는 방법을 정리했습니다.
파이썬 프로젝트를 시작할 때 패키지 관리 도구로 가장 먼저 떠오르는 것은 Poetry입니다. 하지만 저는 이번 프로젝트에서 Rust 기반의 차세대 도구인 uv를 선택했습니다. 그 이유는 다음과 같습니다.
Poetry: 기존의 강력한 표준
의존성 관리, 패키징, 배포를 위한 올인원 도구로 오랫동안 사랑받아 왔습니다.
하지만 프로젝트 규모가 커질수록 의존성 해결 속도가 느려지는 단점이 있습니다.
uv: 압도적인 속도
Rust로 작성되어 기존 pip이나 pip-tools보다 10~100배 빠른 압도적인 속도를 보여줍니다.

단순히 패키지만 설치하는 것이 아니라, Python 버전 관리(pyenv 대체)부터 가상 환경 관리(venv 대체)까지 하나의 툴로 끝낼 수 있습니다.
"속도"와 "통합성"
Rust 기반의 빠른 설치 및 해석 속도로 개발 생산성을 극대화할 수 있습니다.
pyenv로 파이썬 버전을 깔고, venv로 가상 환경을 만들고, pip으로 패키지를 설치하는 복잡한 과정 없이, uv 명령어 하나로 모든 환경 설정이 끝납니다.

# 공식 설치 스크립트
curl -LsSf https://astral.sh/uv/install.sh | sh
uv는 자동으로 환경 변수를 설정하기에 단순히 터미널을 껐다 킨 뒤
uv --version 명령어로 버전을 확인합니다.

성공!
프로젝트의 루트 디렉토리로 이동해 uv init 명령어로 uv를 실행시킵니다.

생성되는 파일 목록:
.gitignore : Git이 추적하지 않을 파일 혹은 폴더 지정.ptrhon-version : 파이썬 버전 명시main.py : 파이썬 프로그램 실행 진입점pyproject.toml : 프로젝트 통합 설정 파일README.md : 프로젝트 설명서
uv run python --version
명령어를 통해 적용되는 파이썬 버전을 확인할 수 있습니다.
이때 생성되는 파일:
.venv :가상 환경 폴더. 파이썬 인터프리터와 라이브러리 저장uv.lock : 실제로 설치된 패키지들의 모든 정보가 기록# pyproject.toml, uv.lock에 기록
uv add <라이브러리 명>
또는 ,
# 기록 없이 임시로 설치할 라이브러리
uv pip install <라이브러리 명>
uv remove <라이브러리 명>
uv sync
pyproject.toml 파일과 uv.lock 파일만 있다면 위의 명령어를 이용하여 완벽하게 동일한 가상 환경 폴더를 생성해 낼 수 있습니다.
다만 uv run <파일 명.py> 명령어를 입력하면 자동으로 uv sync를 실행시켜줍니다.

이제 더 이상 복잡한 가상 환경 활성화나 의존성 꼬임 문제로 시간을 낭비할 필요가 없습니다.
uv run 명령어 하나로 언제 어디서든 동일한 개발 환경을 재현할 수 있게 되었습니다.