Poetry 사용법 정리
Poetry는 Python의 현대적인 패키지 및 의존성 관리자입니다. 복잡한 의존성 문제를 자동으로 해결하고, 가상 환경 관리, 패키지 빌드 및 배포까지 도와주는 도구입니다.
다음은 Python 패키지 관리자 Poetry에 대한 블로그 형식의 정리입니다. 초보자도 이해할 수 있도록 개념부터 설치, 사용법까지 친절하게 설명드리겠습니다.
📌 Poetry란?
Poetry는 Python의 현대적인 패키지 및 의존성 관리자입니다. 복잡한 의존성 문제를 자동으로 해결하고, 가상 환경 관리, 패키지 빌드 및 배포까지 도와주는 도구입니다.
✅ 주요 기능
- 의존성 자동 관리 및 충돌 방지
- 가상 환경 생성 및 관리
- 프로젝트 초기화 및 구조 자동 생성
- 빌드 및 퍼블리시 지원
pyproject.toml
기반의 설정 관리
🛠️ Poetry 설치 방법
🔸 macOS 사용자 (Homebrew)
brew install poetry
🔸 모든 플랫폼 공통 (스크립트 설치)
curl -sSL https://install.python-poetry.org | python3 -
설치가 완료되면, poetry --version
으로 설치 여부를 확인해보세요.
📁 Poetry로 프로젝트 시작하기
1. 새 프로젝트 생성
poetry new poetry-demo
📁 생성된 구조
poetry-demo
├── pyproject.toml # 프로젝트 및 의존성 설정
├── README.rst # 프로젝트 설명
├── poetry_demo/ # 실제 코드 위치
│ └── __init__.py
└── tests/ # 테스트 코드
├── __init__.py
└── test_poetry_demo.py
2. 기존 프로젝트에 Poetry 적용
poetry init
질문에 답하면서 pyproject.toml
파일을 생성하게 됩니다.
🧪 가상 환경(Virtualenv) 관리
가상 환경 생성
poetry env use python3
가상 환경 진입
poetry shell
프로젝트 내부에 가상환경 생성
poetry config virtualenvs.in-project true
이렇게 하면 .venv/
폴더가 프로젝트 내에 생성됩니다.
현재 가상환경 정보 확인
poetry env info
가상환경 리스트 확인
poetry env list
가상환경 제거
poetry env remove <환경명>
⚙️ Poetry 설정 정보 확인
poetry config --list
📦 의존성 패키지 관리
패키지 검색
poetry search fastapi
패키지 추가
poetry add fastapi==0.111.0 # 일반 의존성
poetry add -D pylint # 개발용 의존성 (-D)
직접 pyproject.toml에 작성
[tool.poetry.dependencies]
fastapi = "^0.111.0"
패키지 제거
poetry remove fastapi
poetry remove -D fastapi
📋 패키지 정보 확인
poetry show # 설치된 패키지 리스트
poetry show --tree # 의존성 트리 구조 보기
poetry show --no-dev # 운영용 패키지만 보기
📥 의존성 설치 및 업데이트
패키지 설치
poetry install
전체 업데이트
poetry update
특정 패키지 업데이트
poetry update fastapi
🌍 사용자 지정 패키지 레포지토리 설정
[[tool.poetry.repositories]]
name = "custom-repo"
url = "https://your.repo.url/simple"