위키득계정 ↗
기술

Setuptools

Setuptools기술
대상
Python 프로젝트
주요 역할
빌드 백엔드와 패키지 구성
설정 방식
pyproject.toml 등
연계 도구
Build 같은 빌드 프런트엔드
Setuptools는 Python 프로젝트의 패키지 구성과 배포 파일 생성을 담당하는 빌드 도구다. 패키지 탐색과 의존성, 데이터 파일과 실행 진입점 같은 배포 정보를 정의할 수 있다.

빌드 백엔드의 역할

프로젝트가 어떤 파일과 정보를 배포할지 결정하려면 빌드 시스템을 지정해야 한다. Setuptools는 Python 패키지를 구성하는 백엔드로 사용할 수 있다. Build 같은 프런트엔드는 이 백엔드를 호출해 소스 배포본과 wheel을 만드는 흐름을 수행한다.

배포할 내용과 메타데이터

프로젝트 이름과 버전, 의존성과 패키지 구성을 설정한다. 단순한 디렉터리 구조에서는 패키지를 자동 탐색하고 복잡한 구조에서는 포함과 제외 조건을 조정할 수 있다. 명령행 실행 파일을 생성할 진입점과 데이터 파일, 확장 모듈 같은 요소도 패키징의 대상이다.

설정 파일과 실행 방법

pyproject.toml이나 setup.cfg, setup.py 등으로 설정을 표현할 수 있다. 다만 setup.py를 설정 수단으로 지원하는 것과 해당 파일을 명령행 스크립트처럼 직접 실행하는 방식은 다르다. 현대적인 빌드 흐름에서는 프런트엔드로 배포 파일을 생성하고 업로드 도구로 게시하는 단계를 나눠 이해한다.

관련 문서

Flit / Python Build / Twine / Hatch Python / PDM Python