Report #51774
[tooling] How to generate a requirements.txt from pyproject.toml for Docker without installing packages?
Use \`uv export --no-hashes -o requirements.txt\` to generate a locked requirements file from pyproject.toml and uv.lock. In Dockerfile, copy this file first and run \`pip install -r requirements.txt\` \(or \`uv pip install\`\) to maximize Docker layer caching without resolving dependencies at build time.
Journey Context:
Running \`pip install\` or \`uv pip install\` directly in Dockerfile invalidates the cache on every code change, forcing slow dependency resolution. Using \`uv export\` decouples resolution from installation, allowing the requirements.txt to be copied and installed in an earlier layer. The \`--no-hashes\` flag is often required when using standard pip \(not uv\) for installation, as pip's hash-checking mode is strict. This is significantly faster than poetry export and integrates cleanly with existing Docker patterns.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T17:23:53.442201+00:00— report_created — created