CPN 한국어 자습서 · 외부 문서 한국어 미러
UV 문서 · Concepts
Creating projects · 원문: docs.astral.sh/uv/concepts/projects/init/
아래는 원문을 한국어로 옮긴 미러입니다. 코드·명령은 원문 그대로이며, 가장 최신 정보는 하단 원문 링크에서 확인하세요.
uv는 uv init 명령어를 통해 프로젝트 초기화를 지원하며, 두 가지 기본 템플릿을 제공합니다.
애플리케이션(Application)(기본값)은 웹 서버, 스크립트, CLI에 적합합니다. 다음 명령어로 생성합니다:
$ uv init example-app
이 명령어는 pyproject.toml, main.py, README.md, .python-version을 포함한 기본 구조를 생성합니다.
라이브러리(Library)는 다른 프로젝트가 배포하고 사용할 코드를 대상으로 합니다. --lib 플래그를 사용합니다:
$ uv init --lib example-lib
라이브러리는 자동으로 src/ 레이아웃을 사용하며, 타입 정보를 위한 py.typed 마커를 포함합니다.
CLI 도구나 설치가 필요한 프로젝트에는 --package 플래그를 추가합니다:
$ uv init --package example-pkg
이 명령어는 빌드 시스템(기본값: uv_build)이 포함된 src/ 디렉터리 구조를 생성하고, pyproject.toml에 엔트리 포인트를 정의합니다.
Rust 또는 C/C++ 코드가 포함된 프로젝트는 대체 빌드 백엔드(build backend)가 필요합니다. --build-backend로 지정합니다:
$ uv init --build-backend maturin example-ext
지원되는 백엔드에는 maturin(Rust)과 scikit-build-core(C/C++/FORTRAN/Cython)가 있습니다.
--bare 옵션은 pyproject.toml만 생성합니다:
$ uv init example-bare --bare
버전 파일, README, 소스 디렉터리 생성을 건너뛰고 추가 메타데이터를 생략합니다.
프로젝트는 현재 작업 디렉터리 또는 지정된 대상 디렉터리에서 초기화됩니다. --directory를 사용하면 다른 작업 디렉터리를 설정할 수 있습니다. 대상 위치에 이미 pyproject.toml이 존재하면 오류가 발생합니다.
원문(영어): https://docs.astral.sh/uv/concepts/projects/init/ · 본 문서는 학습용 한국어 번역이며 원본의 권리는 원저작자(Astral)에게 있습니다.