[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)..
[Python] requirements.txt로 패키지 관리하기 (pip freeze)
·
AI Study/[Python]
1. 들어가며: '격리된 방'은 왜 공유해야 할까?내가 만든 'AI 프로젝트 방'에는 numpy, pandas, tensorflow가 설치되어 있습니다. 이 프로젝트를 동료에게 GitHub으로 공유했습니다. 동료는 이 프로젝트를 실행하기 위해 어떤 패키지를, 어떤 버전으로 설치해야 할까요?동료가 pip install numpy... pip install pandas... 하나하나 수동으로 설치할까요?이때 필요한 것이 바로 "이 방에는 이런 패키지들이 설치되어 있어"라고 알려주는 설치 목록(설계도) 파일입니다. 이 목록 파일의 표준 이름이 바로 requirements.txt입니다.2. 현재 설치된 패키지 확인하기 (pip list)내보내기를 하기 전에, 현재 가상환경(활성화된 '방')에 무엇이 설치되어 있..