CPN 한국어 자습서 · 외부 문서 한국어 미러
UV 문서 · Guides
Working on projects · 원문: docs.astral.sh/uv/guides/projects/
아래는 원문을 한국어로 옮긴 미러입니다. 코드·명령은 원문 그대로이며, 가장 최신 정보는 하단 원문 링크에서 확인하세요.
uv는 pyproject.toml 파일 정의를 통해 Python 프로젝트 관리를 지원합니다.
uv init으로 프로젝트를 초기화합니다:
$ uv init hello-world $ cd hello-world
또는 기존 디렉터리에서:
$ mkdir hello-world $ cd hello-world $ uv init
다음 파일과 디렉터리가 생성됩니다:
- .git/
- .gitignore
- .python-version
- README.md
- main.py
- pyproject.toml
uv run으로 테스트하세요:
$ uv run main.py Hello from hello-world!
완전한 프로젝트의 구조는 다음과 같습니다:
. ├── .git/ ├── .venv/ │ ├── bin │ ├── lib │ └── pyvenv.cfg ├── .gitignore ├── .python-version ├── README.md ├── main.py ├── pyproject.toml └── uv.lock
프로젝트 메타데이터(metadata)를 담습니다:
[project] name = "hello-world" version = "0.1.0" description = "Add your description here" readme = "README.md" dependencies = []
수동으로 편집하거나 uv add/uv remove 명령을 사용하세요. [tool.uv] 섹션을 통해 uv 옵션을 구성할 수 있습니다.
가상환경(virtual environment) 생성 시 사용할 기본 Python 버전을 지정합니다.
프로젝트 의존성(dependency)을 포함하는 격리된 Python 환경입니다.
정확한 의존성 버전을 담은 크로스 플랫폼 락파일(lockfile)입니다. 이 TOML 파일은 uv가 관리하므로 직접 편집하지 마세요. 재현 가능한 설치를 위해 버전 관리에 커밋하세요.
패키지(package)를 추가하려면:
$ uv add requests
버전 또는 대체 소스를 지정할 수 있습니다:
$ uv add 'requests==2.31.0' $ uv add git+https://github.com/psf/requests
requirements.txt에서 마이그레이션하려면:
$ uv add -r requirements.txt -c constraints.txt
패키지를 제거하려면:
$ uv remove requests
패키지를 업그레이드하려면:
$ uv lock --upgrade-package requests
패키지 버전을 확인하려면:
$ uv version hello-world 0.7.0
짧은 형식:
$ uv version --short 0.7.0
JSON 출력:
$ uv version --output-format json
{
"package_name": "hello-world",
"version": "0.7.0",
"commit_info": null
}
uv run으로 스크립트나 명령을 실행합니다. 실행 전에 자동으로 락파일 동기화를 확인합니다:
$ uv add flask $ uv run -- flask run -p 3000
Python 스크립트를 실행하려면:
# example.py
import flask
print("hello world")
$ uv run example.py
또는 수동으로 동기화한 후 환경을 활성화할 수도 있습니다:
macOS 및 Linux:
$ uv sync $ source .venv/bin/activate $ flask run -p 3000 $ python example.py
Windows:
PS> uv sync PS> .venv\Scripts\activate PS> flask run -p 3000 PS> python example.py
소스 및 바이너리 배포판을 생성하려면:
$ uv build $ ls dist/ hello-world-0.1.0-py3-none-any.whl hello-world-0.1.0.tar.gz
아티팩트는 dist/ 하위 디렉터리에 생성됩니다.
더 자세한 내용은 프로젝트 개념 문서와 명령 참조를 확인하세요.
원문(영어): https://docs.astral.sh/uv/guides/projects/ · 본 문서는 학습용 한국어 번역이며 원본의 권리는 원저작자(Astral)에게 있습니다.