Python의 진화는 수동 설치부터 pip 및 시와 같은 도구에 이르기까지 패키지 관리의 발전과 밀접하게 연관되어 있습니다. 그러나 프로젝트가 복잡해짐에 따라 기존 도구는 속도와 효율성이 떨어지는 경우가 많습니다.
uv는 Rust로 구축된 최첨단 Python 패키지이자 프로젝트 관리자로, 이를 변화시키는 것을 목표로 합니다. pip, poem, virtualenv 등의 도구 기능을 결합한 uv는 종속성 관리, 스크립트 실행, 프로젝트 구축 등의 작업을 모두 뛰어난 성능으로 간소화합니다. pip 명령과 완벽하게 호환되므로 추가 학습이 필요하지 않습니다.
이 튜토리얼에서는 uv를 설치하고 기능을 최대한 활용하는 방법을 살펴보겠습니다. 프로젝트 설정 및 종속성 관리부터 스크립트 실행 및 향상된 pip 인터페이스 활용까지.
시작하기
목차
- 핍 제한
- UV란 무엇인가
- UV의 주요 기능
- 벤치마크
- 설치
- 가상 환경 조성
- uv를 사용하여 플라스크 앱 구축
- uv로 Python 설치
- 도구
- 요약지
- 현재 제한사항
핍 제한
Pip은 Python으로 작성되어 널리 사용되는 패키지 관리 시스템으로, 소프트웨어 패키지를 설치하고 관리하도록 설계되었습니다. 그러나 인기에도 불구하고 Python에서 가장 느린 패키지 관리 도구 중 하나라는 비판을 자주 받습니다. "pip 설치 속도가 느리다"는 불만 사항은 너무 흔해서 개발자 포럼과 스레드에 자주 나타납니다.
pip의 한 가지 중요한 단점은 종속성 구성 파일이 잘못 작성되거나 유지 관리될 때 발생하는 종속성 냄새에 취약하다는 것입니다. 이러한 문제는 프로젝트의 복잡성 증가, 유지 관리 효율성 감소 등 심각한 결과를 초래할 수 있습니다.
pip의 또 다른 제한 사항은 런타임 환경을 복원할 때 Python 코드를 일관되게 정확하게 일치시킬 수 없다는 것입니다. 이러한 불일치로 인해 종속성 추론 성공률이 낮아져 프로젝트 환경을 안정적으로 재현하기가 어려워질 수 있습니다.
자외선이란 무엇입니까?
uv는 ruff 제작자가 개발하고 Rust로 작성된 현대적인 고성능 Python 패키지 관리자입니다. pip 및 pip-tool을 즉시 대체하도록 설계되어 탁월한 속도와 기존 도구와의 호환성을 제공합니다.
주요 기능에는 편집 가능한 설치, Git 및 URL 종속성, 제약 조건 파일, 사용자 정의 색인 등에 대한 지원이 포함됩니다. uv의 표준 호환 가상 환경은 다른 도구와 원활하게 작동하여 잠금 또는 사용자 정의를 방지합니다. Linux, Windows 및 macOS를 지원하는 크로스 플랫폼이며 PyPI 인덱스에 대해 광범위하게 테스트되었습니다.
단순성, 속도 및 안정성에 초점을 맞춘 uv는 느린 설치, 버전 충돌, 복잡한 종속성 관리와 같은 일반적인 개발자 문제를 해결하여 최신 Python 개발을 위한 직관적인 솔루션을 제공합니다.
UV의 주요 특징
- ⚖️ 드롭인 교체: pip, pip-tools, virtualenv 및 기타 도구를 완벽하게 호환하여 원활하게 교체합니다.
- ⚡ 놀라운 속도: pip, pip-compile, pip-sync와 같은 기존 도구보다 10~100배 빠릅니다.
- ? 디스크 공간 효율적: 종속성 중복 제거를 위해 글로벌 캐시를 활용하여 스토리지를 절약합니다.
- ? 유연한 설치: Rust나 Python 없이도 컬, pip 또는 pipx를 통해 설치할 수 있습니다.
- ? 철저한 테스트: 상위 10,000개 PyPI 패키지로 대규모 성능이 입증되었습니다.
- ?️ 교차 플랫폼 지원: macOS, Linux 및 Windows와 완벽하게 호환됩니다.
- ? 고급 종속성 관리: 종속성 버전 재정의, 대체 해결 전략 및 충돌 추적 해결 프로그램이 포함된 기능입니다.
- ⁉️ 명확한 오류 메시지: 동급 최고의 오류 처리 기능을 통해 개발자는 충돌을 효율적으로 해결할 수 있습니다.
- ? 최신 Python 기능: 편집 가능한 설치, Git 종속성, 직접 URL, 로컬 종속성, 제약 조건 파일 등을 지원합니다.
- ? 통합 도구: pip, pipx, Poetry, pyenv, Twine 등과 같은 도구의 기능을 단일 솔루션으로 결합합니다.
- ?️ 애플리케이션 및 스크립트 관리: 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를 사용하여 플라스크 앱 만들기
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로 파이썬 설치하기
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를 사용하여 Huggingface_hub를 설치하려면 다음 명령을 사용하세요.
uv pip sync requirements.txt # Install dependencies from a requirements.txt file.
- 다음 명령은 설치된 모든 도구를 표시합니다.
uv init sample-project
치트시트
다음은 uv를 사용하여 일반적인 작업을 수행하기 위한 간단한 치트시트입니다.
현재 제한사항
uv는 Python 패키지 관리를 위한 빠르고 효율적인 솔루션을 제공하지만 몇 가지 제한 사항이 있습니다.
- 불완전한 pip 호환성: uv는 pip 인터페이스의 상당 부분을 지원하지만 아직 전체 기능 세트를 포함하지는 않습니다. 이러한 차이점 중 일부는 의도적인 디자인 선택에 따른 것이며 다른 일부는 UV가 아직 초기 개발 단계에 있기 때문에 발생합니다. 자세한 비교는 pip 호환성 가이드를 참조하세요.
- 플랫폼별 요구 사항.txt: pip-compile과 마찬가지로 uv는 플랫폼별 요구 사항.txt 파일을 생성합니다. 이는 플랫폼에 구애받지 않는 poem.lock 및 pdm.lock 파일을 생성하는 Poetry 및 PDM과 같은 도구와 대조됩니다. 결과적으로 uv의 요구 사항.txt 파일은 다양한 플랫폼과 Python 버전 간 이식성이 부족할 수 있습니다.
이 글을 읽어주셔서 감사합니다!!
콘텐츠를 검토해 주신 Gowri M Bhatt에게 감사드립니다.
이 기사가 마음에 드셨다면 하트 버튼♥을 눌러 다른 사람들이 찾을 수 있도록 공유해주세요!
자원
uv - Rust로 작성된 매우 빠른 Python 패키지 및 프로젝트 관리자 | docs.astral.sh
위 내용은 uv 소개: 차세대 Python 패키지 관리자의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

이 기사에서는 HTML을 구문 분석하기 위해 파이썬 라이브러리 인 아름다운 수프를 사용하는 방법을 설명합니다. 데이터 추출, 다양한 HTML 구조 및 오류 처리 및 대안 (SEL과 같은 Find (), find_all (), select () 및 get_text ()와 같은 일반적인 방법을 자세히 설명합니다.

Python의 통계 모듈은 강력한 데이터 통계 분석 기능을 제공하여 생물 통계 및 비즈니스 분석과 같은 데이터의 전반적인 특성을 빠르게 이해할 수 있도록 도와줍니다. 데이터 포인트를 하나씩 보는 대신 평균 또는 분산과 같은 통계를보고 무시할 수있는 원래 데이터에서 트렌드와 기능을 발견하고 대형 데이터 세트를보다 쉽고 효과적으로 비교하십시오. 이 튜토리얼은 평균을 계산하고 데이터 세트의 분산 정도를 측정하는 방법을 설명합니다. 달리 명시되지 않는 한,이 모듈의 모든 함수는 단순히 평균을 합산하는 대신 평균 () 함수의 계산을 지원합니다. 부동 소수점 번호도 사용할 수 있습니다. 무작위로 가져옵니다 수입 통계 Fracti에서

파이썬 객체의 직렬화 및 사막화는 사소한 프로그램의 주요 측면입니다. 무언가를 Python 파일에 저장하면 구성 파일을 읽거나 HTTP 요청에 응답하는 경우 객체 직렬화 및 사태화를 수행합니다. 어떤 의미에서, 직렬화와 사제화는 세계에서 가장 지루한 것들입니다. 이 모든 형식과 프로토콜에 대해 누가 걱정합니까? 일부 파이썬 객체를 지속하거나 스트리밍하여 나중에 완전히 검색하려고합니다. 이것은 세상을 개념적 차원에서 볼 수있는 좋은 방법입니다. 그러나 실제 수준에서 선택한 직렬화 체계, 형식 또는 프로토콜은 속도, 보안, 유지 보수 상태 및 프로그램의 기타 측면을 결정할 수 있습니다.

이 기사는 딥 러닝을 위해 텐서 플로와 Pytorch를 비교합니다. 데이터 준비, 모델 구축, 교육, 평가 및 배포와 관련된 단계에 대해 자세히 설명합니다. 프레임 워크, 특히 계산 포도와 관련하여 주요 차이점

Linux 터미널에서 Python 버전을 보려고 할 때 Linux 터미널에서 Python 버전을 볼 때 권한 문제에 대한 솔루션 ... Python을 입력하십시오 ...

이 기사는 Numpy, Pandas, Matplotlib, Scikit-Learn, Tensorflow, Django, Flask 및 요청과 같은 인기있는 Python 라이브러리에 대해 설명하고 과학 컴퓨팅, 데이터 분석, 시각화, 기계 학습, 웹 개발 및 H에서의 사용에 대해 자세히 설명합니다.

이 튜토리얼은 간단한 나무 탐색을 넘어서 DOM 조작에 중점을 둔 아름다운 수프에 대한 이전 소개를 바탕으로합니다. HTML 구조를 수정하기위한 효율적인 검색 방법과 기술을 탐색하겠습니다. 일반적인 DOM 검색 방법 중 하나는 EX입니다

이 기사는 Python 개발자가 CLIS (Command-Line Interfaces) 구축을 안내합니다. Typer, Click 및 Argparse와 같은 라이브러리를 사용하여 입력/출력 처리를 강조하고 CLI 유용성을 향상시키기 위해 사용자 친화적 인 디자인 패턴을 홍보하는 세부 정보.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

Dreamweaver Mac版
시각적 웹 개발 도구

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.
