Uv - обзор - 2026
uv — современный высокопроизводительный менеджер пакетов, виртуальных окружений и версий Python, разработанный компанией Astral Software и написанный на языке Rust. По состоянию на 2026 год инструмент стал одним из наиболее быстрорастущих в экосистеме Python, объединив функциональность pip, pipx, virtualenv, Poetry и pyenv в едином бинарном файле.
История и предпосылки
Первый публичный релиз uv состоялся в феврале 2024 года. К 2026 году инструмент прошёл несколько крупных мажорных версий, достигнув стабильности уровня production. Разработка мотивирована желанием создать замену традиционным Python-инструментам, которые страдают от низкой производительности из-за реализации на чистом Python и фрагментированности экосистемы.
Ключевые возможности
Управление версиями Python
uv позволяет устанавливать и переключать версии Python (включая CPython и PyPy) командами:
uv python install 3.12 uv python install pypy@3.10 uv python pin 3.12
Инструмент автоматически загружает и собирает дистрибутивы Python, избавляя от необходимости использования pyenv.
Проекты и зависимости
uv поддерживает стандарт PEP 621 с конфигурацией в pyproject.toml. Основные команды:
uv init my-project # создать новый проект uv add requests # добавить зависимость uv sync # синхронизировать окружение uv lock # сгенерировать uv.lock uv run main.py # запустить в окружении проекта
Файл uv.lock обеспечивает воспроизводимость окружений (аналог lock-файлов в Poetry и npm).
Управление инструментами
Замена pipx: изоляция и запуск CLI-приложений без установки в системный Python:
uv tool install ruff uvx aider-chat # запуск без установки uv tool list uv tool upgrade --all
Pip-совместимый интерфейс
Для миграции с pip доступен режим полной совместимости:
uv pip install -r requirements.txt uv pip list --outdated uv pip compile pyproject.toml -o requirements.txt
Управление скриптами
uv поддерживает запуск Python-скриптов с inline-зависимостями (PEP 723):
# /// script
# dependencies = ["requests"]
# ///
import requests
print(requests.get('https://example.org'))
uv run script.py
Производительность
Благодаря реализации на Rust и эффективному кэшированию uv в 10–100 раз быстрее pip при установке пакетов. Разрешение зависимостей (resolution) происходит на порядок быстрее Poetry. Кэш централизован и переиспользуется между проектами, версиями Python и платформами.
Интеграции
- Docker: официальный образ ghcr.io/astral-sh/uv с оптимизациями для кэширования и мультистейдж-сборок
- GitHub Actions: официальное действие astral-sh/setup-uv
- GitLab CI/CD, Pre-commit, Renovate, Dependabot — нативная поддержка
- Реестры: PyPI, Azure Artifacts, Google Artifact Registry, AWS CodeArtifact, JFrog Artifactory
- Фреймворки: FastAPI, PyTorch, Jupyter, marimo, Bazel, AWS Lambda, Coiled
Сравнение с аналогами
| Возможность | uv | pip | pipx | virtualenv | Poetry | conda |
|---|---|---|---|---|---|---|
| Установка пакетов | ✓ | ✓ | ✗ | ✗ | ✓ | ✓ |
| Виртуальные окружения | ✓ | ✗ | ✗ | ✓ | ✓ | ✓ |
| Управление версиями Python | ✓ | ✗ | ✗ | ✗ | ✗ | ✓ |
| Lock-файл | ✓ | ✗ | ✗ | ✗ | ✓ | ✓ |
| Запуск CLI без установки | ✓ | ✗ | ✓ | ✗ | ✗ | ✗ |
| Inline-зависимости скриптов | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| Кроссплатформенность | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Производительность | 10–100× быстрее pip | — | — | — | ~ в 10× медленнее uv | — |
Установка
macOS (Homebrew)
brew install uv
Linux / macOS (standalone)
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Docker
FROM ghcr.io/astral-sh/uv:latest
Дополнительные способы
PyPI, pipx, Cargo (cargo install uv), WinGet, Scoop, MacPorts.
Экосистема
uv является частью экосистемы инструментов Astral, включающей также Ruff (линтер и форматтер Python). Оба инструмента используются совместно: Ruff для качества кода, uv для управления зависимостями и окружениями.
Резюме
uv — это современный, чрезвычайно быстрый и многофункциональный инструмент управления Python-окружениями, который к 2026 году стал де-факто стандартом для новых проектов. Он заменяет pip, pipx, virtualenv, pyenv и частично Poetry, предлагая единый интерфейс с производительностью на порядки выше традиционных аналогов. Поддержка PEP 723 (inline-зависимости в скриптах) и интеграция с основными CI/CD-системами и облачными реестрами делают uv универсальным решением как для локальной разработки, так и для production-окружений.
