| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
- Python Install Manager
- RandomAccessFile
- PowerShell
- yaml
- cli
- ndjson
- Typescript
- vscode
- UV
- SharedArrayBuffer
- cross-origin isolated
- Java
- Webpack
- uv init
- json
- curl
- secure context
- io
- Vite
- Thinking Mode
- podman
- 이미지
- docker
- tauri
- vim
- Ollama
- Python
- uv pin
- json schema
- Docker Compose
- Today
- Total
워로디스
Python. uv init --python 3.12 와 uv python pin 3.12 의 차이 본문
uv init --python 3.12 와 uv python pin 3.12 의 차이는 “프로젝트가 허용하는 Python 범위”와 “내 로컬에서 실제로 쓸 Python 선택”의 차이입니다.
uv init --python 3.12
이건 보통 pyproject.toml에 이런 식으로 들어갑니다.
[project]
requires-python = ">=3.12"
즉, 의미는:
이 프로젝트는 Python 3.12 이상에서 동작한다.
입니다. 그래서 3.12도 가능하고, 3.13도 가능하고, 나중에 3.14도 조건상 가능할 수 있습니다.
반면:
uv python pin 3.12
이건 프로젝트 디렉터리에 보통 .python-version 파일을 만듭니다.
3.12
의미는:
이 프로젝트에서 uv가 Python을 고를 때 3.12 계열을 우선 사용하라.
입니다.
그래서 차이를 예로 들면:
uv init --python 3.12
uv sync
만 했을 때는 requires-python = ">=3.12" 조건만 만족하면 되므로, 내 컴퓨터에 3.13이 더 적절하게 발견되면 3.13을 쓸 수 있습니다.
하지만:
uv init --python 3.12
uv python pin 3.12
uv sync
까지 하면, uv는 .python-version을 보고 3.12를 쓰려 합니다.
정리하면:
| 상황 | 의미 | 실제 Python 선택 |
|---|---|---|
uv init --python 3.12만 함 |
프로젝트는 3.12 이상 필요 | 3.12, 3.13 등 가능 |
uv python pin 3.12도 함 |
이 로컬 프로젝트는 3.12를 사용 | 3.12 계열로 고정 |
| 둘 다 안 함 | uv 기본값/발견된 Python 사용 | 환경에 따라 달라짐 |
실무적으로는 이렇게 보면 됩니다.
라이브러리 프로젝트라면 보통 requires-python만 넓게 잡는 경우가 많습니다.
uv init --python 3.12
이 경우 “이 패키지는 3.12 이상 지원”이라는 선언이 중요합니다.
애플리케이션 프로젝트라면 pin까지 하는 편이 더 안전합니다.
uv init --python 3.12
uv python pin 3.12
이 경우 팀원이나 CI에서 “다들 3.12로 개발/실행”하게 만들 수 있습니다.
정확히 확인하려면 아래를 보면 됩니다.
type pyproject.toml
type .python-version
uv run python -c "import sys; print(sys.version); print(sys.executable)"
한 줄로 말하면:
uv init --python 3.12는 호환성 선언이고, uv python pin 3.12는 실행 버전 선택입니다.
'개발 > Python' 카테고리의 다른 글
| Python. Python Install Manager 와 uv 운용 (0) | 2026.05.24 |
|---|---|
| Python sys.path 를 사용해서 특정 경로 파일 임포트 (0) | 2026.05.03 |
