어느덧 시간이 이렇게..
조교활동을 하며 이것 저것 글을 굉장히 많이 적었었다
이제는 내 벨로그에도 슬슬 옮겨 담아야겠다...
요 근래 이것저것 글을 엄청나게 정리했지만 따로
정리활동을 하질 않았는데 이제는 정말 정리하기 시작해야지..
이전 uv를 사용하며 빠른 속도와 간단한 명령어로 싹 다 갈아엎어지고 있단 소식을 듣고
부랴 부랴 수강생분들을 위해 글을 작성해 놓았었다.
나중에 보기 위해 글을 적어 본다
먼저 uv 는 astral 이라는 기업에서 만든
파이썬 패키지 및 프로젝트 관리 도구이다
Rust라는 언어를 기반으로 만들어진 도구로서 python의 장점과
Rust의 장점들을 합쳐 만든 도구라고 생각하면 된다
수강생을 위한 글로 쉽게 예를 들어 썼기 때문에
지금 정리를 하는 와중에도 참 정리를 잘 했구나 생각하며 글을 쓴다.
uv는 ‘BMW’고 pip은 ‘삼천리 자전거’라고 생각하시면 편할 거 같다
당연히 차가 자전거보다 빠르다;
너무 ez한 비유라 확 안 와닿으시겠지만 아래에 설명을 보면 이해가 쉽다
❗️우선 uv는 Rust로 만들어져서 굉장히 빠르다
❗️여러 작업을 한꺼번에 진행한다
❗️쓸데없는 짓을 하지 않는다 = 체크하는 부분이 없다
__pycache__
처럼)장점으로는 여러가지가 있겠지만 우리가 직접적으로 느껴볼 수 있는 장점 중 하나는
패키지 설치가 엄청나게 빠르다는 거다
직접 사용해보았기에 패키지 및 라이브러리 설치시
거의 1초도 안걸리고 완료되는 터미널 창을 항상 목격한다
실제로 astral의 uv의 introduce 부분을 가보면 각 도구들간의 속도비교를 해놓은 표가 있다
poetry를 사용할 때도 그렇게 불편함을 느끼지 못했는데 0.06초만에 설치가 된다는 점
당연히 우리나라사람들은 빠르면 장땡이기에 안 쓸 이유가 없다
⭐️ 이건 여담인데 uv 출시 이후 1년 동안 약 50k의 깃허브 스타를 받았다고 한다. (작성일 기준 63k)
== 인스타 좋아요 및 저장수가 거의 50k에 육박했다 ㅇㅇ
이제 이 uv에 대해서 어느정도 개념이 잡혔다
또한 uv 공홈에서는 uv가진 장점들에 대해 자세하게 다뤄놓았다
아래는 그 장점들만 나열한 부분이다
🛠 uv의 핵심 기능 요약 (한글 번역)
• 🚀 pip, pip-tools, pipx, poetry, pyenv, twine, virtualenv 등을 모두 대체하는 통합 도구
• ⚡️ pip보다 10~100배 더 빠름
• 📁 범용 락파일을 사용하는 완전한 프로젝트 관리 기능 제공
• 🌟 스크립트 실행 지원, 의존성도 코드에 직접 적을 수 있음
• 🐍 Python 버전 설치 및 관리 가능 (pyenv처럼!)
• 🔧 Python 패키지로 배포된 도구들도 설치 및 실행 가능
• 🔄 pip과 호환되는 인터페이스, 익숙한 CLI + 빠른 속도
• 🧩 Cargo 스타일의 워크스페이스(Rust처럼 여러 프로젝트 관리) 지원
• 💾 전역 캐시(global cache) 로 디스크 공간 절약 + 의존성 중복 제거
• ⬇️ Rust나 Python 없이도 설치 가능, curl이나 pip로 설치 지원
• 🖥 macOS, Linux, Windows 모두 지원
그대로 번역만 하여 사용하여 가지고 왔다
더 관심이 간다면 공식 홈페이지에 가서 살펴보도록 하자
이처럼 uv를 직접 활용해봤다면
개발 환경을 효율적으로 관리하는 데 큰 도움이 될 것이다
특히 현재 내가 주력으로 사용하고 있는 Python 언어는
데이터 분석과 머신러닝 분야에서 광범위하게 활용되는 언어이다
그만큼 다양한 패키지와 복잡한 의존성 관리를 요구하게 되는데
이런 상황에서 uv는 단순한 패키지 설치 도구를 넘어선 강력한 관리 도구로 주목받고 있다
최근에는 많은 개발자들이 pip 대신 uv를 채택하고 있으며
특히 reproducible(재현 가능한) 환경 구축이 중요한
데이터 사이언스 및 머신러닝 프로젝트에서 유용하게 사용된다고 한다
따라서 앞으로 머신러닝, 딥러닝, AI 개발 등 더 전문적인 Python 생태계로 나아가고자 한다면
uv에 대한 기본적인 이해와 활용법을 익혀두는 것이 도움이 되기에 글을 적는다