CrescentCrescent
PostsTagsAbout

> Let's use uv

Crescent

🐍 Python 기반 프로젝트에서 패키지 관리자 uv 사용법을 정리해 효능을 영업하고 싶어 작성
프로젝트를 init해서 진행할 때 사용될 명령어들을 정말 간단히 정리
자세한 사용법은 uv 공식 문서를 참고하세요!!

0. 서론

1. 명령어 정리

1.1. install uv & python version

macOS와 Linux에서 설치
curl -LsSf https://astral.sh/uv/install.sh | sh
Python 버전 설치
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
uv init 명령어 실행 후 생성된 프로젝트 구조

1.3. package management

install package
uv add torch torchaudio torchvision
pyproject.toml에 해당 패키지 추가
requirements.txt에서 설치
uv add -r requirements.txt
pip명령어 기반 설치
uv pip install transformers
pyproject.toml, uv.lock은 변경되지 않음
requirements.txt 생성
uv export -o requirements.txt
pyproject.toml기반 가상환경 동기화
uv sync
.venv 폴더 update

1.4. run python script

Python 스크립트 실행
uv run train.py
uv run python train.py
두 가지 방법 모두 동일하게 작동

1.5. Jupyter Notebook in vscode (cursor)

Jupyter Notebook 설치
uv add jupyter ipykernel

1.5.1. 현재 VS Code의 워크스페이스 폴더(parent_folder)가 uv init된 폴더인 경우

1.5.2. parent_folder 안에 uv init sample-project로 생성한 하위 폴더가 있는 경우

  1. sample-project 폴더를 VS Code에서 별도 워크스페이스로 연다.
  2. sample-project.ipynb 파일에서 [커널 선택] → [Python 환경 선택] → .venv (./venv/bin/python) 선택 → cell 실행해서 커널 작동 확인
  3. 이후 parent_folder로 돌아가 sample-project 안의 .ipynb 파일을 열면, 해당 가상환경이 자동으로 선택된 것을 확인할 수 있다.