💻 pip или uv?
С Python-зависимостями часто одна и та же история: код меняется быстро, а окружение собирается медленно.
Поэтому рядом с привычным pip всё чаще смотрят в сторону uv.
Если коротко:
• pip — стандартный способ ставить пакеты
• uv — инструмент, который быстрее работает с зависимостями, lock-файлом и синхронизацией окружения
• с pip установка, фиксация версий и поддержание одинакового окружения часто живут в нескольких отдельных шагах
• uv пытается собрать это в более цельный сценарий: pyproject.toml, lock-файл и предсказуемая сборка
Что это даёт на практике:
➡️локальное окружение поднимается быстрее
➡️CI тратит меньше времени на пересборку
➡️проще держать одинаковые зависимости у всех
➡️меньше сюрпризов в стиле «у меня работает»
При этом pip никуда не делся: для простых сценариев его часто более чем достаточно.
Но если в проекте начинают болеть скорость сборки и воспроизводимость окружения, у uv быстро появляются сильные аргументы.
Совсем недавно мы это проверили на нашем проекте: перевели сборку на uv, и время подготовки e2e-окружения сократилось с 10+ минут примерно до полутора. При этом сам переход оказался довольно простым — большую часть текущего workflow удалось сохранить. А ещё заметили, что сборка на Ubuntu проходила быстрее, чем на Alpine, из-за различий в доступных Python wheels для glibc и musl.
Подробнее: https://github.com/astral-sh/uv
Если тоже устали ждать сборку зависимостей — 🔥
Если pip пока полностью устраивает — 💚
#qahub_tools #qahub_automation
Post #500
240
- 🔥 5
- 👍 3
- ❤ 2