uv vs pip — 왜 나는 이제 pip를 기본 선택으로 두지 않는가
한 줄 요약
pip은 설치 도구이고, uv는 패키지 설치를 넘어 가상환경, lock 파일, Python 버전, 프로젝트 흐름까지 더 넓게 다루는 도구다. 그래서 지금 내 기본 선택은 uv다.
왜 바뀌었는가
예전 Python 개발은 도구가 흩어져 있었다.
pip설치venv가상환경- 별도 lock 도구
- 별도 Python 버전 관리
이 조합도 작동은 한다. 하지만 프로젝트가 늘고 팀 작업이 많아질수록 관리 포인트가 많아진다.
uv는 이걸 훨씬 단순하게 묶어준다.
내가 uv를 선호하는 이유
1. 속도
속도는 체감 차이가 크다. 설치와 동기화가 빠르면 프로젝트 전환 비용도 줄어든다.
2. 선언과 재현성이 자연스럽다
uv는 pyproject.toml과 lock 파일 흐름을 자연스럽게 이어준다. 즉 설치와 재현성이 더 일관된다.
3. 가상환경 활성화 의존이 줄어든다
uv run은 꽤 중요하다.
가상환경을 직접 활성화하지 않고도 바로 실행 흐름을 만들 수 있어서, justfile 같은 표준 명령어와도 잘 맞는다.
4. 팀 환경 불일치를 줄인다
pip install은 개발자가 실수로 선언 파일을 업데이트하지 않고 패키지만 깔아버릴 수 있다. 이건 협업에서 꽤 자주 문제를 만든다.
uv는 그런 흐름을 훨씬 더 일관되게 가져간다.
그렇다면 pip은 끝났는가
그건 아니다.
- 레거시 프로젝트
- 단순한 설치 스크립트
- 아주 오래된 팀 관성
에서는 여전히 많이 쓰인다.
다만 내가 새 프로젝트를 시작할 때는 굳이 pip를 기본으로 잡을 이유가 줄었다.
결론
내 기준에서 pip은 여전히 중요한 역사적 도구다. 하지만 새 프로젝트의 기본값으로는 uv가 더 낫다.
이유는 단순하다.
- 더 빠르고
- 더 일관되고
- 더 재현 가능하고
- 팀과 AI 모두에게 더 친화적이다
그래서 지금 내 기본 선택은 uv다.