맥미니를 서버로

파이썬 패키지 설치가 느릴 때, uv로 바꾸면 얼마나 빨라지나

AI 로컬 LLM 2026. 9. 16. 11:42

파이썬 패키지 설치가 답답했다면, 이 글대로 uv로 바꾸면 된다. 맥미니에서 pip과 uv의 속도를 직접 재서 비교했다. 이 글을 끝까지 따라 하면 pip보다 6배 넘게 빠른 패키지 설치 환경이 된다. macOS 기준으로 쓰지만, 인텔 맥이든 애플 실리콘이든 명령은 같다.

맥미니로 자동화 스크립트를 돌리면서 매번 발목을 잡는 게 있었다. 새 프로젝트를 시작하거나 기존 환경을 업데이트할 때 파이썬 패키지를 설치하는 속도다. 처음에는 그냥 그런가 보다 했다. 컴퓨터가 느려서 그런가, 인터넷이 느려서 그런가 하고 별생각 없이 기다렸다.

하지만 자동화 스크립트를 여러 개 돌리고, 가상 환경을 자주 만들고 지우고 하면서 이 기다림이 쌓이면 꽤 많은 시간을 잡아먹는다는 걸 깨달았다. 특히 배포 파일이 큰 패키지, 예를 들어 polars 같은 걸 설치할 때는 체감 시간이 더 길었다. 작은 지연이 반복되면 작업 흐름이 끊긴다. 그래서 방법을 찾아보기 시작했다.

1. Homebrew 준비하기

전제 조건은 하나다. macOS에서 패키지를 설치하고 관리해 주는 Homebrew가 있어야 한다. 없다면 먼저 다음 명령으로 설치한다.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

확인 방법: 설치가 끝나면 터미널에 나오는 안내대로 PATH를 설정하고, brew --version이 버전을 출력하면 된 것이다.

2. uv 설치하기

파이썬 패키지 설치 속도 문제를 풀어 줄 도구는 uv다. pip과 venv를 대체하는 파이썬 패키지 관리 도구로, Rust로 만들어져 훨씬 빠르다. Homebrew로 한 줄이면 설치된다.

brew install uv

확인 방법: uv --version을 입력해 uv 0.11.6 (Homebrew 2026-04-09 aarch64-apple-darwin)처럼 버전이 나오면 제대로 설치된 것이다. 버전 숫자는 설치 시점에 따라 다르다.

3. uv로 가상 환경 만들고 패키지 설치하기

uv의 기본 사용법은 쓰던 pip·venv 명령 앞에 uv만 붙이는 것이다. 가상 환경은 uv venv, 패키지 설치는 uv pip install이다.

# 현재 폴더에 .venv 가상 환경 생성
uv venv

# 가상 환경 활성화 (pip 때와 동일)
source .venv/bin/activate

# polars 설치
uv pip install polars

확인 방법: uv pip list로 설치된 polars가 보이면 된다. 한 가지 주의할 점은 uv venv로 만든 가상 환경에는 pip 자체가 들어 있지 않다는 것이다. 습관대로 python -m pip install을 치면 No module named pip이 난다. 처음에 나도 몇 번 봤다. 모든 명령이 uv로 시작한다는 점만 기억하면 된다.

4. 얼마나 빨라지는지 직접 재기

이제 uv가 실제로 얼마나 빠른지 직접 재 볼 수 있다. pip과 uv로 각각 가상 환경을 만들고 polars를 설치하는 시간을 비교한다. polars는 배포 파일이 40MB 남짓으로 커서 속도 차이를 체감하기 좋은 패키지다.

# pip: 가상 환경을 새로 만들고 polars 설치 시간 재기
rm -rf .venv_pip
time python3 -m venv .venv_pip
source .venv_pip/bin/activate
time pip install polars

# uv: 같은 순서로
rm -rf .venv_uv
time uv venv .venv_uv
source .venv_uv/bin/activate
time uv pip install polars

확인 방법: 각 명령 뒤에 real 시간이 찍힌다. 내 맥미니에서는 같은 측정을 5회씩 반복해 평균을 냈다. pip은 가상 환경 생성 1.202초 + 설치 2.338초 = 3.54초, uv는 0.150초 + 0.383초 = 0.533초였다. 6.6배 빠르다.

측정 결과를 표로 정리하면 이렇다. 같은 맥미니, 같은 네트워크에서 5회씩 재서 평균한 값이고, 매번 가상 환경을 지우고 새로 만들었다.

작업 pip (초) uv 0.11.6 (초) uv 0.12.11 (초)
가상 환경 생성 1.202 0.150 0.136
polars 설치 2.338 0.383 0.375
합계 3.540 0.533 0.511

가상 환경 생성만 보면 python -m venv 1.202초 대 uv venv 0.150초로 8배 차이다. 프로젝트를 자주 새로 만들거나 테스트 환경을 자주 갈아엎는 사람일수록 이 차이가 크게 다가온다. 몇 초의 차이가 반복되면 금세 몇 분이 된다.

5. 함정과 주의점

첫 번째는 버전에 대한 환상이다. 나도 최신 버전이 더 빠를 거라고 기대하고 uv 0.11.6과 0.12.11을 같은 조건으로 쟀다. 결과는 0.533초 대 0.511초, 차이가 없다시피 하다. 빨라지는 것은 pip에서 uv로 넘어오는 그 순간이지, uv 버전을 올리는 순간이 아니다. 버전 업데이트를 쫓아다닐 필요는 없다.

두 번째는 손에 익히는 시간이다. 위에서 말했듯 uv 가상 환경에는 pip이 없어서 옛 습관대로 치면 오류가 난다. uv pip install, uv venv처럼 앞에 uv를 붙이는 게 처음엔 어색하지만 며칠이면 익숙해진다.

파이썬 개발 환경에서 pip의 느린 설치 속도가 답답했다면 uv는 확실한 해결책이다. 설치 한 번으로 매번 몇 초씩 아끼고, 그게 쌓이면 작업 흐름이 끊기지 않는다.

한 번 설치하면 매번 시간을 번다.

맥미니로 만드는 AI 홈서버 — 직접 돌려보고 씁니다