C.W.K.
Stream
Lesson 01 of 05 · published

uv — 왜 Python 도구를 먹어치우나

~11 min · uv, overview, python, rust

Level 0초심자
0 XP0/55 lessons0/16 achievements
0/80 XP to next level80 XP to go0% complete

uv 는 매우 빠른 all-in-one Python 패키지 매니저, Astral 이 Rust 로 작성 — 18개월 만에 Python 을 점령한 formatter ruff 만든 같은 팀. uv 가 패키지 관리에 같은 일 하고 있어.

uv 가 한 binary 안에서 황당한 도구 리스트 대체: pip (install), venv (virtual environments), pip-tools (lockfile), pyenv (Python 버전 관리), pipx (install 없이 도구 실행), twine (PyPI publish). 다 사라짐. uv install 만. 나머지 uv 가 다 함.

속도가 헤드라인. pip 보다 10-100배 빠름 — warm cache 면 115배까지. JupyterLab install 이 pip 21초 vs uv ~2.6초. virtual environment 만들기가 8배 빠름. 속도가 Rust parallelism, pip 의 resolver 대신 CDCL solver, 메타데이터에 HTTP range 요청 (필요한 것만 다운), hard-link 패키지 캐시 (즉시 unpack), Python startup overhead 0 에서 옴.

uv 가 진짜 재현성 가져옴. uv.lock 이 진짜, fully-pinned lockfile — 모든 transitive dep, 모든 wheel hash. package-lock.json 또는 Cargo.lock 의 Python 등가물. uv python install 3.13 (관리되는 Python 버전) 과 결합되어, 마침내 uv sync = '모든 머신에 정확히 같은 Python + 패키지 install'.

그리고 pip 와 drop-in 호환. uv pip install requests 가 정확히 pip install requests 처럼 작동 — 같은 flag, 같은 동작. pip 기반 프로젝트에 마찰 0 으로 uv 채택 가능; 새 프로젝트는 모던 uv add + uv.lock 워크플로우.

Code

uv 가 대체하는 거·text
  옛 stack                      새 stack
  -----------------------       ---------
  pip install              ───→  uv pip install   (또는 uv add)
  python -m venv .venv     ───→  uv venv          (또는 자동: uv add)
  pip-compile              ───→  uv lock
  pyenv install 3.13       ───→  uv python install 3.13
  pipx run cowsay          ───→  uvx cowsay
  twine upload dist/*      ───→  uv publish

  여섯 도구 → 한 binary. Rust 작성. 10-100배 빠름.

External links

Exercise

진짜 install time 측정. venv 의 pip 으로 'time pip install jupyterlab'. 그 다음 'time uv pip install jupyterlab' ('pip uninstall jupyterlab' 후). 속도 차이가 레슨. 평생 pip 기다렸다면 이 순간이 전환 정당화.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.