Python개발 환경과 테스트

pyproject.toml과 패키징 기본

Python 프로젝트 메타데이터와 build 설정을 한곳에 모으는 pyproject.toml의 역할과 기본 패키징 흐름을 정리합니다.

마지막 수정 2026년 3월 22일

기본 패턴

toml
[project]
name = "myapp"
version = "0.1.0"
requires-python = ">=3.11"
dependencies = ["requests>=2.32"]

설명

  • pyproject.toml은 현대 Python 프로젝트에서 메타데이터와 build 설정의 중심 파일 역할을 합니다. 예전의 여러 설정 파일이 하던 일을 점점 이쪽으로 모으는 흐름입니다.
  • 여기에는 프로젝트 이름, 버전, 지원 Python 버전, 의존성, build backend 정보가 들어갈 수 있습니다. 즉 코드를 어떻게 배포 가능한 패키지로 다룰지 정의하는 문서에 가깝습니다.
  • 모든 Python 프로젝트가 PyPI 배포를 목표로 하지 않더라도, pyproject.toml을 이해하면 "이 프로젝트를 어떤 단위로 설치하고 재현할 것인가"를 더 명확하게 볼 수 있습니다.
  • 패키징의 핵심은 코드를 압축하는 기술이 아니라, 재사용 가능한 단위로 이름과 버전, 의존성, 진입점을 설명하는 것입니다. 그래서 메타데이터 품질이 중요합니다.
  • 실무에선 도구 설정까지 이 파일에 함께 모이는 경우가 많기 때문에, Python 프로젝트를 읽을 때 pyproject.toml은 코드만큼 중요한 입구가 됩니다.

빠른 정리

항목의미
[project]프로젝트 메타데이터
dependencies런타임 의존성
requires-python지원 Python 버전
핵심 역할설치, 빌드, 배포 기준 정리

주의할 점

pyproject.toml은 단순 설정 저장소가 아니라 프로젝트 계약서에 가깝습니다. 이름, 버전, 의존성을 대충 적어 두면 설치와 배포 단계에서 바로 혼란이 생길 수 있습니다.

참고 링크

2 sources