기술블로그-Django편

Poetry란? 설치방법 및 pyenv와 차이점

Chansman 2025. 4. 29. 19:15

📘 Python 프로젝트를 위한 Poetry 사용 가이드


1. Poetry란?

Poetry는 Python 프로젝트의 패키지 관리가상환경 관리를 통합적으로 지원하는 도구입니다. 현대적인 프로젝트 구조를 지원하며, requirements.txt 없이도 모든 의존성을 깔끔하게 관리할 수 있습니다.


2. Poetry와 pyenv의 차이점

구분 pyenv / pyenv-virtualenv poetry

주요 기능 Python 버전 & 가상환경 관리 프로젝트 및 패키지 관리
가상환경 지원 O O (자체적으로도 생성 가능)
패키지 설치/관리 pip 사용 필요 poetry 명령어로 간단하게 관리
프로젝트 구조 생성 ❌ 수동 ✅ 자동 생성 (pyproject.toml)
배포 기능 ✅ build, publish 지원

👉 pyenv는 Python의 설치/버전 관리 도구,👉 Poetry는 프로젝트를 구성하고 의존성 관리까지 책임지는 도구입니다.


3. Poetry 설치

curl -sSL https://install.python-poetry.org | python3 -

환경 변수 등록 (필요 시):

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

설치 확인:

poetry --version

4. 프로젝트 생성 및 구성

✅ 새 프로젝트 생성

mkdir myproject && cd myproject
poetry init  # pyproject.toml 생성

✅ 가상환경 진입

poetry shell

✅ 패키지 설치

poetry add flask

설치된 패키지는 pyproject.toml 및 poetry.lock에 자동 기록됩니다.


5. Poetry 명령어 요약

명령어 설명

poetry init 프로젝트 초기화 (pyproject.toml 생성)
poetry add [패키지명] 패키지 설치 및 등록
poetry remove [패키지명] 패키지 제거
poetry install pyproject.toml 기반 전체 설치
poetry update 패키지 업데이트
poetry shell 가상환경 진입
poetry run [명령어] 가상환경 내 명령 실행

6. Poetry와 pyenv 함께 쓰는 흐름

pyenv install 3.12.1
pyenv virtualenv 3.12.1 myenv
pyenv local myenv
poetry init
poetry add flask
poetry shell

7. 마무리 팁

  • Poetry는 pyproject.toml을 중심으로 프로젝트를 관리합니다.
  • requirements.txt 없이도 의존성 관리가 가능합니다.
  • pyenv와 조합하면 Python 버전/가상환경도 유연하게 운영할 수 있습니다.

✅ 이제부터는 pip, venv, requirements.txt 대신 Poetry 하나로 깔끔한 Python 프로젝트 환경을 시작해보세요!