<aside>
</aside>
지난 시간에 pyproject.toml 파일이 Poetry 프로젝트의 '설계도'와 같다고 말씀드렸죠? 이번 시간에는 그 설계도를 직접 펼쳐보고, 각 항목이 어떤 의미를 가지는지 샅샅이 파헤쳐 볼 거예요. 이 파일 하나만 제대로 이해해도 Poetry의 절반을 마스터하는 것과 같답니다! 💪
pyproject.toml 파일의 기본 구조와 목적을 이해합니다.[project] 섹션과 Poetry 고유의 [tool.poetry] 섹션의 역할을 구분할 수 있습니다.[build-system] 섹션이 왜 필수적인지 설명할 수 있습니다.pyproject.toml 파일을 작성하고 의존성을 선언적으로 추가할 수 있습니다.이번 챕터에서는 딱 하나의 파일, pyproject.toml만 직접 만들어 볼 거예요. 아직 프로젝트 폴더 구조는 필요 없답니다. 의존성만 설치하는 실습을 위해 패키지 모드를 끄는 한 줄을 함께 넣어둘게요.
pyproject.toml
# 1. 빌드 시스템 명시 (필수!)
[build-system]
requires = ["poetry-core>=2.0.0,<3.0.0"]
build-backend = "poetry.core.masonry.api"
# 2. PEP 621 표준 프로젝트 메타데이터
[project]
name = "my-first-toml"
version = "0.1.0"
description = "A project to understand pyproject.toml"
authors = [
{ name = "Your Name", email = "[email protected]" },
]
requires-python = ">=3.8"
dependencies = [
"requests>=2.0.0",
]
# 3. Poetry만의 확장 기능 및 설정
[tool.poetry]
package-mode = false
[tool.poetry.group.dev.dependencies]
pytest = "^8.0"
pyproject.toml 파일은 크게 3개의 중요한 섹션으로 나눌 수 있어요. 바로 [build-system], [project], 그리고 [tool.*] 입니다.
[build-system] : "이 프로젝트는 누가 만드나요?"이 프로젝트를 빌드 패키징하려면 어떤 도구가 필요한지 알려주는, 가장 기본적이고 필수적인 섹션입니다.