Python의 진화는 수동 설치부터 pip 및 시와 같은 도구에 이르기까지 패키지 관리의 발전과 밀접하게 연관되어 있습니다. 그러나 프로젝트가 복잡해짐에 따라 기존 도구는 속도와 효율성이 떨어지는 경우가 많습니다.
uv는 Rust로 구축된 최첨단 Python 패키지이자 프로젝트 관리자로, 이를 변화시키는 것을 목표로 합니다. pip, poem, virtualenv 등의 도구 기능을 결합한 uv는 종속성 관리, 스크립트 실행, 프로젝트 구축 등의 작업을 모두 뛰어난 성능으로 간소화합니다. pip 명령과 완벽하게 호환되므로 추가 학습이 필요하지 않습니다.
이 튜토리얼에서는 uv를 설치하고 기능을 최대한 활용하는 방법을 살펴보겠습니다. 프로젝트 설정 및 종속성 관리부터 스크립트 실행 및 향상된 pip 인터페이스 활용까지.
Pip은 Python으로 작성되어 널리 사용되는 패키지 관리 시스템으로, 소프트웨어 패키지를 설치하고 관리하도록 설계되었습니다. 그러나 인기에도 불구하고 Python에서 가장 느린 패키지 관리 도구 중 하나라는 비판을 자주 받습니다. "pip 설치 속도가 느리다"는 불만 사항은 너무 흔해서 개발자 포럼과 스레드에 자주 나타납니다.
pip의 한 가지 중요한 단점은 종속성 구성 파일이 잘못 작성되거나 유지 관리될 때 발생하는 종속성 냄새에 취약하다는 것입니다. 이러한 문제는 프로젝트의 복잡성 증가, 유지 관리 효율성 감소 등 심각한 결과를 초래할 수 있습니다.
pip의 또 다른 제한 사항은 런타임 환경을 복원할 때 Python 코드를 일관되게 정확하게 일치시킬 수 없다는 것입니다. 이러한 불일치로 인해 종속성 추론 성공률이 낮아져 프로젝트 환경을 안정적으로 재현하기가 어려워질 수 있습니다.
uv는 ruff 제작자가 개발하고 Rust로 작성된 현대적인 고성능 Python 패키지 관리자입니다. pip 및 pip-tool을 즉시 대체하도록 설계되어 탁월한 속도와 기존 도구와의 호환성을 제공합니다.
주요 기능에는 편집 가능한 설치, Git 및 URL 종속성, 제약 조건 파일, 사용자 정의 색인 등에 대한 지원이 포함됩니다. uv의 표준 호환 가상 환경은 다른 도구와 원활하게 작동하여 잠금 또는 사용자 정의를 방지합니다. Linux, Windows 및 macOS를 지원하는 크로스 플랫폼이며 PyPI 인덱스에 대해 광범위하게 테스트되었습니다.
단순성, 속도 및 안정성에 초점을 맞춘 uv는 느린 설치, 버전 충돌, 복잡한 종속성 관리와 같은 일반적인 개발자 문제를 해결하여 최신 Python 개발을 위한 직관적인 솔루션을 제공합니다.
출처: https://blog.kusho.ai/uv-pip-killer-or-yet-another-package-manager
웜 캐시를 사용하여 종속성을 해결(왼쪽) 및 설치(오른쪽)하고, 가상 환경을 다시 만드는 프로세스를 시뮬레이션하거나 기존 프로젝트에 새 종속성을 추가합니다.
출처: https://blog.kusho.ai/uv-pip-killer-or-yet-another-package-manager
깨끗한 환경에서 콜드 캐시 시뮬레이션 실행을 통해 종속성을 해결(왼쪽)하고 설치(오른쪽)합니다. 캐싱이 없으면 uv는 pip 및 pip-tools보다 8~10배 빠르며, 웜 캐시를 사용하면 80~115배 더 빠른 속도를 달성합니다.
출처: https://blog.kusho.ai/uv-pip-killer-or-yet-another-package-manager
pip 및 setuptools와 같은 시드 패키지가 있는(왼쪽) 가상 환경과 없는(오른쪽) 가상 환경 생성. uv는 python -m venv보다 약 80배 빠르고 virtualenv보다 7배 빠르며, 모두 Python과 독립적으로 작동합니다.
uv 설치는 빠르고 간단합니다. 독립 실행형 설치 프로그램을 선택하거나 PyPI에서 직접 설치할 수 있습니다.
# On macOS and Linux. curl -LsSf https://astral.sh/uv/install.sh | sh # On Windows. powershell -c "irm https://astral.sh/uv/install.ps1 | iex" # With pip. pip install uv # With pipx. pipx install uv # With Homebrew. brew install uv # With Pacman. pacman -S uv
uv를 사용하기 전에 환경변수에 uv 경로를 추가해야 합니다.
Linux 및 macOS의 경우 터미널에서 다음 명령을 사용하여 PATH 환경 변수를 수정합니다.
export PATH="$HOME/.local/bin:$PATH"
Windows의 경우 Windows에서 사용자와 시스템 모두의 PATH 환경 변수에 디렉터리를 추가하려면 검색 패널에서 환경 변수를 검색하세요. 사용자 변수/시스템 변수에서 경로 변수를 선택하고 편집을 클릭한 다음 새로 만들기를 클릭하고 원하는 경로를 추가합니다.
%USERPROFILE%\.local\bin
설치 후 터미널에서 uv 명령을 실행하여 올바르게 설치되었는지 확인하세요.
uv로 가상 환경을 만드는 것은 간단하고 간단합니다. 원하는 환경 이름과 함께 다음 명령을 사용하여 생성하세요.
uv venv
# On macOS and Linux. source .venv/bin/activate # On Windows. .venv\Scripts\activate
가상 환경에 패키지를 설치하는 과정은 익숙한 과정을 따릅니다. 다양한 설치 방법은 아래와 같습니다.
uv pip install flask # Install Flask. uv pip install -r requirements.txt # Install from a requirements.txt file. uv pip install -e . # Install current project in editable mode. uv pip install "package @ ." # Install current project from disk uv pip install "flask[dotenv]" # Install Flask with "dotenv" extra.
잠긴 종속성을 가상 환경과 동기화하려면 다음 명령을 사용하십시오.
uv pip sync requirements.txt # Install dependencies from a requirements.txt file.
uv는 -r 요구 사항.txt, -c 제약 조건.txt, -e ., --index-url 등을 포함하여 기존 도구와 유사한 다양한 명령줄 인수를 지원합니다.
uv를 사용하여 몇 가지 프로젝트 관련 명령을 살펴보겠습니다. "sample-project"라는 Python 프로젝트를 초기화하는 것부터 시작하세요.
# On macOS and Linux. curl -LsSf https://astral.sh/uv/install.sh | sh # On Windows. powershell -c "irm https://astral.sh/uv/install.ps1 | iex" # With pip. pip install uv # With pipx. pipx install uv # With Homebrew. brew install uv # With Pacman. pacman -S uv
샘플 프로젝트 디렉터리로 이동합니다. uv는 app.py, 요구사항.txt, README.md 등과 같은 필수 파일로 프로젝트를 초기화합니다.
run 명령을 사용하여 샘플 Python 파일을 실행합니다. 이 프로세스는 먼저 가상 환경 폴더를 생성한 후 Python 파일을 실행합니다.
export PATH="$HOME/.local/bin:$PATH"
프로젝트 종속성에 Flask를 추가하세요.
%USERPROFILE%\.local\bin
새로 만들고 다음 코드를 작성해 보세요.
uv venv
uv run 명령을 사용하여 애플리케이션을 실행하세요.
# On macOS and Linux. source .venv/bin/activate # On Windows. .venv\Scripts\activate
브라우저를 열거나 컬이나 Postman과 같은 도구를 사용하여 GET 요청을 보냅니다.
uv를 사용하여 Python을 설치하는 것은 선택 사항입니다. 기존 Python 설치와 원활하게 작동하기 때문입니다. 그러나 uv를 통해 Python을 설치하는 것이 선호되는 경우 간단한 명령을 사용하여 수행할 수 있습니다.
uv pip install flask # Install Flask. uv pip install -r requirements.txt # Install from a requirements.txt file. uv pip install -e . # Install current project in editable mode. uv pip install "package @ ." # Install current project from disk uv pip install "flask[dotenv]" # Install Flask with "dotenv" extra.
이 접근 방식은 저장소를 관리하거나 설치 프로그램을 다운로드할 필요가 없기 때문에 기존 방법에 비해 더 편리하고 안정적입니다. 간단히 명령을 실행하면 설정을 사용할 수 있습니다.
CLI 도구는 uv 명령으로 설치하고 사용할 수 있습니다. 예를 들어, Huggingface_hub 도구를 설치하면 Hugging Face 저장소로 파일을 가져오고 푸시할 수 있습니다.
uv pip sync requirements.txt # Install dependencies from a requirements.txt file.
uv init sample-project
다음은 uv를 사용하여 일반적인 작업을 수행하기 위한 간단한 치트시트입니다.
uv는 Python 패키지 관리를 위한 빠르고 효율적인 솔루션을 제공하지만 몇 가지 제한 사항이 있습니다.
이 글을 읽어주셔서 감사합니다!!
콘텐츠를 검토해 주신 Gowri M Bhatt에게 감사드립니다.
이 기사가 마음에 드셨다면 하트 버튼♥을 눌러 다른 사람들이 찾을 수 있도록 공유해주세요!
uv - Rust로 작성된 매우 빠른 Python 패키지 및 프로젝트 관리자 | docs.astral.sh
위 내용은 uv 소개: 차세대 Python 패키지 관리자의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!