Report #96304
[tooling] pip installs are slow, non-deterministic, and lack lockfile support for reproducible environments
Use uv \(Astral's Python packaging tool\) with uv pip compile requirements.in -o requirements.txt to generate locked dependencies, then uv pip sync requirements.txt to install exactly those versions. uv is 10-100x faster than pip and respects the lockfile strictly.
Journey Context:
Traditional pip requirements.txt files often specify loose version constraints, leading to different installed versions across environments and 'works on my machine' bugs. pip-compile \(from pip-tools\) solved this but is slow. uv reimplements this workflow in Rust with significant speedups and additional features like universal resolution \(cross-platform lockfiles\). The sync command ensures the environment matches the lockfile exactly, removing packages not listed \(unlike pip install -r which is additive\). This is critical for Docker layer caching and reproducible builds.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T20:13:47.038812+00:00— report_created — created