[AI/Python] python Poetry에 대해 자세히 알아보자! (정의, 구성요소, 장단점, 활용 분야, 설치 및 실습)
·
AI Study/[Python]
1. 들어가며Python으로 개발을 하다 보면, 프로젝트가 커질수록 의존성 관리(Dependency Management)가 골칫거리가 됩니다. 우리는 보통 pip freeze > requirements.txt 명령어로 패키지 목록을 저장하곤 합니다. 하지만 이 방식에는 치명적인 단점이 있습니다.의존성의 의존성: 내가 설치한 패키지(requests)와 그것이 의존하는 패키지(urllib3, certifi 등)가 뒤섞여 관리됩니다.버전 충돌: 패키지 A와 B가 서로 다른 버전의 패키지 C를 요구할 때, pip는 이를 명확하게 해결해주지 못해 충돌이 발생합니다.환경 분리: 가상환경(venv, virtualenv)을 매번 수동으로 생성하고 활성화해야 하는 번거로움이 있습니다.이러한 문제들을 해결하기 위해 등장한..
[AI/LLM] Docker + vLLM으로 Qwen3-VL 모델 서빙하기
·
AI Study/[LLM]
1. 들어가며이전 포스팅에서 vLLM을 띄우는 법을 알아봤습니다. 하지만 현업에서 docker run --gpus all -p 8000:8000 -v ... (옵션 10줄) ... 같은 명령어를 터미널에 매번 복붙하고 있다면... 그건 재앙의 시작이죠."어? 저번에 썼던 GPU 메모리 옵션이 뭐였지?""새 모델로 바꾸려는데, 명령어 어디부터 고쳐야 해?""HF_TOKEN이 스크립트에 그대로 노출되네?"이때, docker-compose는 복잡한 docker run 명령어를 '설정 파일'로 관리하게 해줍니다. "어떤 모델을, 어떤 GPU로, 어떤 옵션을 줘서" 띄울지 명시하는 '설계도' 그 자체죠.오늘은 최신 멀티모달 모델인 Qwen3-VL을 docker-compose로 완벽하게 띄우는 실전 꿀팁을 A to..
[Python] uv로 올인원 환경 구축 (CLI 도구, 치트시트)
·
AI Study/[Python]
1. 들어가며"pipx는? ruff나 black 같은 CLI 도구는 따로 설치해야 하나?"아닙니다. uv는 pipx가 하던 '전역 CLI 도구 관리' 기능까지 흡수했습니다. 이 '올인원' 환경을 완성하는 마지막 퍼즐, uv tool 기능과 모든 명령어를 총정리하는 '치트시트'를 제공합니다.2. uv add vs uv tool installuv를 처음 쓸 때 가장 헷갈리는 부분입니다. "둘 다 설치인데 뭐가 다르죠?"uv add ruff용도: 프로젝트 의존성 (Project Library)설명: import ruff처럼 내 파이썬 코드에서 '라이브러리'로 사용할 패키지를 설치합니다.설치 위치: 현재 프로젝트의 가상환경 (.venv/)기록: pyproject.toml에 기록됩니다. (팀원과 공유)uv too..
[Python] uv 실전 가이드 (프로젝트 · 가상환경 · 의존성 관리)
·
AI Study/[Python]
1. 들어가며이전 편에서는 uv의 '미친' 속도와 pyenv를 대체하는 파이썬 설치 기능까지 알아봤습니다.이제 uv로 '진짜' 프로젝트를 생성하고, 패키지를 설치하며, 동료와 협업하는 '현업 워크플로우'를 마스터할 차례입니다.pip install과 pip freeze로 requirements.txt를 수동 관리하던 답답함은 이제 잊으셔도 좋습니다.2. uv로 새 프로젝트 시작 (uv init)uv init 명령어는 poetry init처럼 pyproject.toml 기반의 현대적인 파이썬 프로젝트를 뚝딱 만들어줍니다. # 1. 새 프로젝트 폴더를 만들고 이동mkdir my-uv-projectcd my-uv-project# 2. uv 프로젝트 초기화uv inituv init을 실행하면, 현재 폴더에 다음과..
[Python] 초고속 패키지 관리 도구 uv 완벽 가이드 (uv 소개 · 설치 · 버전 관리)
·
AI Study/[Python]
1. 들어가며AI/ML 개발자든 웹 개발자든, 파이썬을 쓴다면 패키지 관리 도구의 '답답한' 역사와 함께해왔습니다.easy_install (2004~): 패키지 삭제(uninstall)조차 안되던 고대 유물.pip (2008~): 현재의 '국룰'. 하지만 venv(가상환경), pip-tools(의존성 고정) 등 파편화된 도구를 따로 써야 하고, 무엇보다 느립니다.Poetry (2018~): pyproject.toml로 의존성 관리와 가상환경을 통합한 '현대적인' 도구. 하지만 여전히 의존성 해결 속도가 느리다는 치명적인 단점이 있었습니다.프로젝트가 커질수록 pip install -r requirements.txt나 poetry lock을 실행하고 커피 한 잔 마시고 오는 게 일상이었죠2. uv란?uv는 ..
[AI/LLM] Docker로 vLLM 모델 서빙 및 서버 구축 A to Z
·
AI Study/[LLM]
1. 들어가며: pip install 대신 Docker이전 게시글에서 vLLM의 '미친' 이론(PagedAttention)을 봤습니다. 이제 이 괴물 같은 놈을 서버에 설치할 차례죠.물론 pip install vllm? 됩니다. (요즘엔 uv pip install vllm이 더 빠르죠.) 하지만 현업에서 서버에 pip으로 직접 설치하는 순간, 지옥이 펼쳐집니다. 며칠 뒤 import가 꼬이고, NVIDIA 드라이버와 CUDA 버전이 충돌해서 밤새 머리를 쥐어뜯게 되죠.이럴 땐 역시 Docker가 편합니다..근데 docker run --gpus all ...로 시작하는 긴 명령어를 매번 치는 건 더 귀찮습니다. (저는 보통 docker-compose.yml로 만들어서 컨테이너를 올립니다.)이번에는 dock..
[Python] venv, Conda, 그리고 uv
·
AI Study/[Python]
1. 들어가며: 우리는 왜 venv + pip에 만족하지 못했나?venv + pip (requirements.txt) 조합은 파이썬의 국룰(표준)입니다. 하지만 현업, 특히 AI 개발 현장에서는 두 가지 큰 불만이 있었습니다.너무 느린 속도: pip install -r requirements.txt를 실행하면, 패키지가 수십 개일 때 의존성을 해결하고 다운로드하는 데 수 분이 걸립니다.분리된 도구: 가상환경은 venv로 만들고, 패키지는 pip로 설치하고, 목록은 pip freeze로 뽑아야 하는 등 도구가 파편화되어 있습니다.이런 문제를 해결하기 위해 Conda가 등장했고, 최근에는 이 둘의 단점을 모두 잡은 uv가 게임 체인저로 떠오르고 있습니다. 2. Conda (Anaconda/Miniconda)..