python
python uv 설치, 명령어, 패키지 생성
Upright_wing
2025. 4. 17. 01:50
Python uv 설치
# 쉘 스크립트를 통한 설치
curl -Ls https://astral.sh/uv/install.sh | bash
# brew 사용 시
brew install astral-sh/uv/uv
# 윈도우 사용시
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
uv 주요 명령어 정리
uv 명령어 | 기능 |
uv venv | 새로운 가상환경 생성 |
uv pip install <package> | 패키지 설치 |
uv pip uninstall <package> | 패키지 제거 |
uv pip install -r requirements.txt | requirements 파일로부터 패키지 설치 |
uv pip list | 설치된 패키지 목록 확인 |
uv init <패키지이름> | 파이썬 프로젝트 생성하기(구분을 위해 프로젝트라는 명칭사용) |
uv add <package> | 프로젝트에 외부 패키지 의존성 설치 및 추가 |
uv remove <package> | 프로젝트의 외부 패키지 제거 |
uv export -o requirements.txt | 프로젝트의 의존하는 requirements.txt 생성 |
uv add requirements.txt | 프로젝트에 requirements.txt의존성 추가 |
uv cache clean | 설치 캐시 초기화 |
uv run <python파일> | 프로그램 실행 |
uv를 이용한 프로젝트 생성
1. uv를 사용한 프로젝트생성
$ uv init uv-project
$ cd uv-project
$ tree -a -L 1
---
.
├── .git
├── .gitignore
├── main.py
├── pyproject.toml
├── .python-version
└── README.md
1 directory, 5 files
git, main.py, project.toml, README.md, .python-version이 자동생성되었다.
$ cat main.py
---
def main():
print("Hello from uv-project!")
if __name__ == "__main__":
main()
-------------------------------------
$ cat .python-version
---
3.10
-------------------------------------
$ cat README.md #아무내용이 없다.
-------------------------------------
$ cat .gitignore
---
# Python-generated files
__pycache__/
*.py[oc]
build/
dist/
wheels/
*.egg-info
# Virtual environments
.venv
-------------------------------------
$ cat pyproject.toml
---
[project]
name = "uv-project"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.10"
dependencies = []
귀찮은 python 관련 .gitignore이 자동생성되는건 놀랍다....
2. 가상환경 생성 및 활성화
uv venv
source .venv/bin/activate
# 앞에 (uv-project) 가 붙는다.
3. 패키지 추가
새로운 의존성 패키지를 추가하고, pyproject.toml 및 uv.lock 파일을 자동 갱신합니다. 이떄는 패키지 설치가 아닌 add를 사용합니다.
$ uv add requests #프로젝트에 패키지 추가
# $ uv pip install requests
# pip를 uv로 실행한다. uv pip로 설치하면 pyproject.toml과 uv.lock은 변경되지 않는다.
$ cat pyproject.toml
---
[project]
name = "uv-project"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.10"
dependencies = [
"requests>=2.32.3",
]
4. 의존성 관리
현재 프로젝트에서 사용 중인 패키지를 requirements로 추출하기.
uv export -o requirements.txt
프로젝트에 uv를 사용한 requriement설치
uv add requirements.txt
5. 프로그램 실행
uv run main.py
---
Hello from uv-project!
6. 캐시 관리
설치 과정에서 생성된 캐시 데이터를 정리하기.(필요시)
uv cache clean