Если вы устали от медленного pip, сложных poetry.lock и зоопарка инструментов вокруг Python-окружений, то стоит посмотреть на uv.
🔥 uv - это современный менеджер зависимостей и окружений для Python, который написан на Rust. Почему это не очередной инструмент, а реально новая эра?
😐Все в одном бинаре: установка пакетов, создание и управление виртуальными окружениями, разрешение зависимостей, lock-файлы, запуск Python-команд в изоляции… раньше это приходилось собирать из pip, venv/virtualenv, pip-tools и poetry - а теперь достаточно только uv! Всего один бинарь, и ничего лишнего.
😐Скорость: Rust-реализация + собственная система расчёта зависимостей = мгновенные установки и пересборки, особенно на больших ML-проектах и при CI/CD. Говорят, что может достигать 100x по скорости в сравнении с pip!
😐Глобальный кэш: пакеты, уже скачанные для одного проекта, повторно используются и в других окружениях - как итог, меньше запросов и экономия места на диске.
😐Отличие от poetry / pip: uv не использует за основу существующие инструменты, а сам полностью управляет всем процессом. Это не только быстрее, но и гораздо более предсказуемо - lock-файл читаемый, стабильный и действительно воспроизводимый.
Главное тут, что uv не “оборачивает pip”, а заменяет его функциональность!
🔥 А основные команды до боли напоминают уже знакомые инструменты...
# установка самого uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# проверка
uv --version
# создание окружения и установка зависимостей
uv venv
uv pip install numpy pandas scikit-learn
🔥 Полезные ссылки:
• официальная документация тут
• а для любителей покопаться в коде открыт официальный репозиторий
Вероятно, мы на пороге новой эры управления Python-зависимостями.
Всем продуктивного февраля!✨
#python@data_easy
#mlops@data_easy