반응형
이번 글에서는 가상의 "my_project"라는 패키지를 예로 들어 pyproject.toml 작성을 단계별로 시연합니다. 목표는 다음과 같습니다.빌드 백엔드: Poetry 선택 (의존성 관리, 빌드, 배포 편의성 활용)기본 메타데이터: 이름, 버전, 저자, 라이선스 등 명시의존성: 런타임 의존성(예: requests), optional-dependencies(dev, docs) 정의스크립트 정의: mytool 명령어 제공린터/포매터 설정: black, mypy 설정 추가 (tool 섹션 활용)프로젝트 디렉토리 구성예제 디렉토리 구조:my_project/ ├─ my_project/ │ ├─ __init__.py │ └─ cli.py ├─ pyproject.toml └─ README.m..
현대적인 파이썬 프로젝트에서 의존성 관리와 CLI 진입점(엔트리 포인트) 설정은 핵심적인 부분입니다. 이전에는 setup.py나 requirements.txt 등에 의존했지만, 이제 pyproject.toml의 [project] 섹션 내에서 정식 필드를 통해 의존성과 스크립트를 일관적으로 정의할 수 있습니다.이번 글에서는 dependencies, optional-dependencies, scripts 필드를 자세히 살펴보고, 이를 통해 런타임 의존성, 선택적 의존성 그룹, 그리고 명령줄 스크립트를 어떻게 현대적이고 투명하게 관리할 수 있는지 알아봅니다.[project.dependencies]로 런타임 의존성 정의[project] 섹션 내 dependencies 필드는 패키지 런타임에 필요한 필수 의존성을..
PEP 621은 pyproject.toml을 통해 패키지 메타데이터(이름, 버전, 라이선스, 종속성 등)를 표준화하는 제안으로, 이전 setup.py에서 하던 패키지 정보 정의를 더욱 일관되고 선언적인 형태로 바꾸어줍니다. 이를 통해 빌드 백엔드별 메타데이터 정의 방식의 차이를 줄이고, 프로젝트 정보가 한눈에 들어오는 장점을 누릴 수 있습니다.이번 글에서는 [project] 섹션 필드들, PEP 621에서 권장하는 메타데이터 정의 방법, 및 의존성과 optional dependencies 선언 방식 등을 살펴봅니다.[project] 섹션 개요[project] 섹션은 PEP 621에 따라 다음과 같은 패키지 메타데이터 필드를 포함할 수 있습니다.name: 패키지 이름version: 패키지 버전 문자열(PE..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.