pip 26.3, pylock.toml에서 선택 의존성과 개발 그룹 설치 지원
PyPA가 공개한 pip 26.3은 pylock.toml에서 선택 의존성과 비기본 의존성 그룹을 골라 설치하는 기능을 추가했습니다. 여러 구성을 한 잠금 파일에 담으려면 생성 도구가 해당 항목을 기록해야 하며, pip의 pylock 설치 지원은 실험 단계입니다.

본문
PyPA는 2026년 11월 2일 pip 26.3을 공개했습니다. 이번 버전은 pylock.toml에 기록된 선택 의존성(extra)과 비기본 의존성 그룹을 설치 명령에서 지정하도록 지원합니다. 개발용·문서용 의존성을 포함한 잠금 파일을 만든 도구가 해당 선택지를 기록했다면, 환경마다 별도 파일을 관리하지 않고도 필요한 구성을 골라 설치할 수 있습니다. pylock 설치 지원은 아직 실험 단계입니다.
pylock.toml은 Python 환경의 재현 가능한 설치를 위해 의존성을 TOML 형식으로 기록하는 표준입니다. 잠금 파일에는 설치 대상 패키지와 그 파일 정보가 담깁니다. 파일을 만든 도구가 extra나 의존성 그룹을 지원한다면, 기본 설치 외에 고를 수 있는 구성도 함께 기록할 수 있습니다. 생성 도구에 따라 pylock.toml은 단일 구성만 담을 수도 있습니다.
pip의 pylock 지원은 26.1에서 시작됐습니다. 해당 버전은 -r pylock.toml 형식으로 표준 잠금 파일을 읽는 실험적 지원을 도입했습니다. pip 26.3은 설치 시 기본 구성뿐 아니라 파일에 정의된 extra와 비기본 의존성 그룹을 지정하는 기능을 보탰습니다.
extra는 프로젝트가 선택적으로 제공하는 의존성 묶음입니다. 프로젝트는 기능별 선택 의존성을 정의하고, 사용자는 필요한 extra를 지정해 설치합니다. 의존성 그룹은 테스트 도구나 문서 작성 도구처럼 개발 과정에 필요한 요구사항을 묶는 형식입니다. 이 그룹은 프로젝트를 배포용 패키지로 빌드할 때 패키지 메타데이터에 들어가지 않습니다. extra는 프로젝트의 선택 기능에 붙는 의존성이고, 의존성 그룹은 개발·작업 환경을 위한 묶음입니다.
pip 26.3에서는 python -m pip install -r "pylock.toml[extra1,extra2]"처럼 잠금 파일에서 고를 extra를 지정합니다. 비기본 그룹은 python -m pip install --group pylock.toml:dev처럼 선택하며, --group 옵션을 반복해 여러 그룹을 요청할 수도 있습니다. 별도 옵션 없이 -r pylock.toml을 사용하면 파일에 정의된 기본 그룹을 설치합니다.
잠금 파일 생성 도구는 선택 가능한 구성을 기록하고, pip는 설치할 때 그중 필요한 항목을 고릅니다. 한 파일로 개발 환경과 기본 환경을 다루려면 생성 도구와 파일이 extras 및 의존성 그룹을 지원해야 합니다. pip 문서는 pylock.toml 설치를 현재도 실험적 기능으로 표시합니다.
자료: PyPA pip 공식 릴리스 공지 및 문서 / 정리·해설: Trawling