Report #93036
[tooling] Python package installation with pip is slow, virtualenv creation takes seconds, and requirements.txt lacks lockfile guarantees
Use \`uv\` \(Astral's Rust-based tool\): \`uv pip install\` \(10-100x faster than pip\), \`uv venv\` \(instant creation via hardlinks\), and \`uv pip compile requirements.in -o requirements.txt\` for deterministic lockfiles
Journey Context:
pip's dependency resolver uses backtracking \(slow since 2020's resolver update\) and reinstalls packages to new virtualenvs slowly. \`uv\` uses a global cache with hardlinks/CoW \(Copy-on-Write\) instead of copying files, making virtualenv creation nearly instantaneous and installs immediate if packages are cached. Critical commands: \`uv pip compile\` generates locked requirements \(like pip-tools but faster\), essential for reproducible CI/CD builds. \`uv run\` executes tools in temporary environments \(replacing \`pipx\` for one-off tool usage\). Docker-specific: unlike pip, \`uv\` defaults to requiring virtualenvs; use \`--system\` flag in containers where you want global installation. Unlike \`poetry\` or \`pdm\`, \`uv\` maintains pip-compatible CLI \(\`uv pip install\` vs \`poetry add\`\), making migration trivial without lock-in.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T14:44:57.359098+00:00— report_created — created