CS
poetry로 python 프로젝트 관리하기 (pyproject.toml)
삐롱K
2025. 7. 26. 22:35
728x90
반응형
주로 requirement.txt에 패키지를 나열해서 pip 으로 설치할 때 비효율적인 시간 문제로 프로젝트에는 적절하지 않은 방법이었다.
그래서 찾아보다가 알게된 poetry로 프로젝트 관리하기!
poetry란?
Python 프로젝트의 의존성 관리와 패키징을 위한 도구입니다. pip
과 virtualenv
의 기능을 통합하고 개선한 것으로 볼 수 있습니다.
주요 특징
pyproject.toml
파일을 사용하여 프로젝트 설정과 의존성을 선언적으로 관리합니다. (가상환경 자동 관리)poetry.loc
파일은 프로젝트의 의존성이 해결된 후 생성되어, 의존성 트리에 있는 모든 패키지의 정확한 버전을 고정하고 기록합니다. 이러한 방식은 프로젝트가 다른 환경에서 동일한 의존성을 정확히 재현할 수 있도록 보장합니다. (의존성 해결)- 재현성 확보, 가상환경 자동 관리
설치 방법
# macOS/Linux
curl -sSL https://install.python-poetry.org | python3 -
# Windows (PowerShell)
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | python -
처음 설치하면 PATH를 설정해줘야한다.
이런 식으로 설정 방법을 알려주고, 그대로 따라했다.
Add `export PATH="/Users/name/.local/bin:$PATH"` to your shell configuration file.
poetry 프로젝트 생성
poetry new project-name
poetry 프로젝트 초기화하여 pyproject.toml 파일을 생성하고, 프로젝트 이름, 버전, 설명, 의존성에 대한 정보를 입력받는다.
poetry init
pyproject.toml 파일
[project]
name = "project-name"
version = "0.1.0"
description = ""
authors = [
{name = "name",email = "id@gmail.com"}
]
readme = "README.md"
requires-python = ">=3.9"
dependencies = [
]
[build-system]
requires = ["poetry-core>=2.0.0,<3.0.0"]
build-backend = "poetry.core.masonry.api"
의존성 관리
- 패키지 추가
poetry add package-name
# 개발 의존성 추가
poetry add --dev package-name
# 특정 버전의 패키지 설치
poetry add <package-name>@<version>
- 패키지 삭제
poetry remove package-name
- 설치된 패키지 목록 조회
poetry show
# 의존성 트리를 계층적으로 보기
poetry show --tree
# 각 패키지의 최신 버전을 함께 보기(의존성을 최신 상태로 유지하고 싶을 때 좋음)
poetry show --latest
# 업데이트가 가능한 패키지 목록
poetry show --outdated
# 메인 의존성만 표시
poetry show --no-dev
728x90
반응형