[AI/Python] python Poetry에 대해 자세히 알아보자! (정의, 구성요소, 장단점, 활용 분야, 설치 및 실습)
·
AI Study/[Python]
1. 들어가며Python으로 개발을 하다 보면, 프로젝트가 커질수록 의존성 관리(Dependency Management)가 골칫거리가 됩니다. 우리는 보통 pip freeze > requirements.txt 명령어로 패키지 목록을 저장하곤 합니다. 하지만 이 방식에는 치명적인 단점이 있습니다.의존성의 의존성: 내가 설치한 패키지(requests)와 그것이 의존하는 패키지(urllib3, certifi 등)가 뒤섞여 관리됩니다.버전 충돌: 패키지 A와 B가 서로 다른 버전의 패키지 C를 요구할 때, pip는 이를 명확하게 해결해주지 못해 충돌이 발생합니다.환경 분리: 가상환경(venv, virtualenv)을 매번 수동으로 생성하고 활성화해야 하는 번거로움이 있습니다.이러한 문제들을 해결하기 위해 등장한..
[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)..