> Let's use uv
Crescent
Table of Contents
🐍 Python 기반 프로젝트에서 패키지 관리자 uv 사용법을 정리해 효능을 영업하고 싶어 작성
프로젝트를 init해서 진행할 때 사용될 명령어들을 정말 간단히 정리
자세한 사용법은 uv 공식 문서를 참고하세요!!
0. 서론
- An extremely fast Python package and project manager, written in Rust.
- uv는 Python 패키지 관리자로, pip보다 빠르고 현대적인 대안
1. 명령어 정리
1.1. install uv & python version
curl -LsSf https://astral.sh/uv/install.sh | sh
uv python install 3.12 3.13
1.2. initialize project
uv init some_project --python 3.12
some_project
├──.python-version
├── README.md
├── main.py
└── pyproject.toml
1.3. package management
- uv와
pyproject.toml
은 npm에서 package를 추가하는 것과 유사하게 작동되는 것과 같다 생각 uv add
명령어는pyproject.toml
과uv.lock
파일을 변경하지 않는다.uv pip install
은 pip와 유사하게 작동하지만,pyproject.toml
과uv.lock
파일은 변경하지 않는다.uv sync
를 사용하여pyproject.toml
의 의존성을 가상환경에 설치할 수 있다.
install package
uv add torch torchaudio torchvision
uv add -r requirements.txt
pip명령어 기반 설치
uv pip install transformers
uv export -o requirements.txt
pyproject.toml기반 가상환경 동기화
uv sync
1.4. run python script
Python 스크립트 실행
uv run train.py
uv run python train.py
1.5. Jupyter Notebook in vscode (cursor)
uv add jupyter ipykernel
1.5.1. 현재 VS Code의 워크스페이스 폴더(parent_folder
)가 uv init
된 폴더인 경우
.ipynb
파일에서 [커널 선택] → [Python 환경 선택] →.venv (./venv/bin/python)
선택
1.5.2. parent_folder
안에 uv init sample-project
로 생성한 하위 폴더가 있는 경우
.ipynb
파일에서 [커널 선택] 메뉴에.venv
가 자동으로 표시된다면 그대로 진행하면 된다.- 그러나 자동으로 표시되지 않는다면
.vscode/settings.json
없이 해결하는 방법이 존재한다.
sample-project
폴더를 VS Code에서 별도 워크스페이스로 연다.sample-project
내.ipynb
파일에서 [커널 선택] → [Python 환경 선택] →.venv (./venv/bin/python)
선택 → cell 실행해서 커널 작동 확인- 이후
parent_folder
로 돌아가sample-project
안의.ipynb
파일을 열면, 해당 가상환경이 자동으로 선택된 것을 확인할 수 있다.