2025년 2월 20일 목요일

파이썬 패키지 설치 및 환경 관리 도구 uv

소개

  • Rust로 작성된 파이썬 패키지 설치 및 환경 관리 도구
  • 전통적인 pip와 호환되면서도 훨씬 빠른 성능

주요 특징:

  • 매우 빠른 속도 (pip보다 약 10-100배 빠름)

  • pip와 완벽한 호환성

  • 의존성 해결 알고리즘 개선

  • 병렬 다운로드 지원

  • 캐싱 메커니즘 최적화

  • astral.sh에서 개발한 도구로, 2023년 말~2024년 초에 공개

  • https://github.com/astral-sh/uv 참고

UV 간단 튜토리얼

1. UV 설치하기

터미널에서 다음 명령어로 설치합니다:

# macOS/Linux에서 설치
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows (PowerShell)에서 설치
irm https://astral.sh/uv/install.ps1 | iex

2. 기본 패키지 관리

# 패키지 설치
uv pip install requests pandas

# 여러 패키지 동시 설치 (매우 빠름)
uv pip install numpy matplotlib seaborn scikit-learn

# 특정 버전 설치
uv pip install flask==2.0.1

# requirements.txt 파일 사용
uv pip install -r requirements.txt

3. 가상환경 관리

# 새 가상환경 생성
uv venv .venv

# 가상환경 활성화 (Linux/macOS)
source .venv/bin/activate

# 가상환경 활성화 (Windows)
.venv\Scripts\activate

4. pip와 함께 사용하기

기존 pip 명령어와 거의 동일하게 작동합니다:

# 패키지 업그레이드
uv pip install --upgrade requests

# 패키지 제거
uv pip uninstall pandas

# 설치된 패키지 목록 확인
uv pip list

5. 프로젝트 의존성 관리

# 현재 환경의 패키지를 requirements.txt로 내보내기
uv pip freeze > requirements.txt

# 개발 의존성과 프로덕션 의존성 분리 (pip-tools 호환)
uv pip compile pyproject.toml -o requirements.txt

UV로 파이썬 3.13.2 가상환경을 만들고 Jupyter를 설정하는 과정

# 1. 특정 파이썬 버전으로 가상환경 생성
uv venv --python=3.13.2 .venv_py3132

# 2. 가상환경 활성화
# Linux/macOS
source .venv_py3132/bin/activate
# Windows
# .venv_py3132\Scripts\activate

# 3. Jupyter와 필수 패키지 설치
uv pip install jupyter notebook pandas numpy matplotlib scipy

# 4. Jupyter 노트북 실행
jupyter notebook

주의사항:

  • UV가 가상환경을 생성할 때 시스템에 파이썬 3.13.2가 설치되어 있어야 합니다. 없다면 먼저 설치해주세요.
  • 데이터 분석에 필요한 기본 패키지로 pandas, numpy, matplotlib, scipy를 포함했습니다.
  • 필요에 따라 scikit-learn, seaborn 등 추가 패키지를 설치할 수 있습니다.

첫 번째 Jupyter 노트북에서 환경이 제대로 설정되었는지 확인하려면:

import sys
print(f"Python 버전: {sys.version}")
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
print("모든 필수 패키지가 성공적으로 로드되었습니다!")

댓글 없음:

댓글 쓰기

Ubuntu에서 socks proxy 간단 사용

SSH를 이용한 SOCKS 프록시 설정 가장 간단한 방법은 SSH를 이용하여 SOCKS 프록시를 설정하는 것: ssh -D 1080 사용자명@원격서버주소 이 명령어는 로컬 포트 1080에 SOCKS 프록시 서버를 생성한다. 브라우저 설정 프...