본문 바로가기

Study Notes

[Python] UV로 파이썬 프로젝트 생성부터 의존성·가상환경까지 실행 환경 관리 (init, venv, add, remove, sync)

 

 

 

 

파이썬, uv 설치 여부 확인 및 설치

 

 

 

파이썬 설치가 필요하다면, 아래 글을 참고해주세요.

https://ppoddorin.tistory.com/260

 

Python 다운로드

Python 다운로드 https://www.python.org/ Welcome to Python.orgThe official home of the Python Programming Languagewww.python.org 버전 선택 다운로드 실행 후 첫 번째 창에서 Add python.exe to PATH 체크 하고 설치하자 !왠만한 건

ppoddorin.tistory.com

 

 

 

uv 설치 : 터미널에서 다음 명령어 실행

# window
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# pip
pip install uv

 

 

 

 

프로젝트에 uv로 가상환경 생성

 

uv venv

# 파이썬 버전을 지정할 수 있다
uv venv --python 3.12.0

 

 

 

 

 

가상환경 활성화 / 비활성화

# git bash
source .venv/Scripts/activate

# powershell
.venv\Scripts\Activate.ps1

 

가상환경이 활성화되면 가상환경 루트 경로가 표시된다.

참고로 가상환경 비활성화 명령어는 deactivate 

 

git bash 예시

 

 

powershell 예시

 

 

 

 

 

 

VSCode Python 인터프리터 연결

 

  1. Ctrl + Shift + P
  2. Python: Select Interpreter
  3. .venv 선택

 

 

 

 

 

파이썬 프로젝트 생성

uv init

 

명령어를 실행하면 pyproject.toml 파일과 함께 파이썬 프로젝트가 생성된다.

 

 

 

 

 

 

패키지 설치 / 제거

# pyproject.toml 수정
# uv.lock 재계산
# 가상환경을 lock 기준으로 즉시 정합(sync)

uv add [패키지명]
uv remove [패키지명]


# 가상환경에만 직접 반영
# pyproject.toml / uv.lock 그대로

uv pip install [패키지명]
uv pip uninstall [패키지명]

 

 

 

패키지를 설치하지 않은 경우 pyproject.toml 파일 내용이 아래와 같이 비어있다 !!

 

 

add 명령어로 numpy 패키지를 설치하면 아래와 같이

dependencies에 추가되는 것을 확인할 수 있다 !

 

 

 

pip install 명령어로 pandas 패키지를 설치하면 아래와 같이

dependencies에 추가되지 않고 패키지만 추가되는 것을 확인할 수 있다 !

 

 

 

삭제의 경우 remove 명령어로 삭제 시 dependencies 도 함께 삭제

그런데 dependencies 에 넣지 않았던 pandas 가 함께 삭제가 된다 !!!

 

 

 

add / remove 명령어는 가상환경을 lock 기준으로 맞추는 작업이 진행되기 때문. 

 

 

 

 

 

가상환경 동기화 sync

# lock 재계산 후 가상환경 동기화
uv sync

# lock 재계산 없이 가상환경 동기화
uv sync --frozen

 

 

설치된 패키지가 없지만 dependencies 에 numpy 가 등록되어 있는 상황

 

 

이 상태에서 uv sync 명령어를 실행하면

lock 재계산이 일어나면서 numpy 패키지가 설치되어

가상환경이 동기화 되는 것을 확인할 수 있다.