Python
pip-tools
pip-tools commands for Python dependency pinning.
28 commands
Windows
MacOS
Linux
#dependency-management
#pinning
Compile
Generate pinned requirements.txt
pip-compile requirements.in
Upgrade all packages to latest
pip-compile --upgrade
Upgrade only flask
pip-compile --upgrade-package flask
Custom output filename
pip-compile --output-file prod.txt requirements.in
Compile from pyproject.toml
pip-compile pyproject.toml
Include package hashes for security
pip-compile --generate-hashes
Sync
Sync environment to match exactly
pip-sync requirements.txt
Sync with multiple requirement files
pip-sync requirements.txt dev.txt
Preview changes without installing
pip-sync --dry-run
Pass arguments to pip
pip-sync --pip-args "--no-cache-dir"
Options
Omit index URL from output
pip-compile --no-emit-index-url
Omit header comment from output
pip-compile --no-header
Remove extras from output
pip-compile --strip-extras
Pin packages like setuptools and pip
pip-compile --allow-unsafe
Use backtracking resolver
pip-compile --resolver=backtracking
Omit source annotations
pip-compile --no-annotate
Layered Requirements
Compile base requirements
pip-compile requirements.in
Constrain dev deps to base
pip-compile requirements-dev.in -c requirements.txt
Constrain test deps
pip-compile requirements-test.in -c requirements.txt
Sync base and dev together
pip-sync requirements.txt requirements-dev.txt
Automation
Suppress output except errors
pip-compile --quiet
Check if output is up to date
pip-compile --check
Omit trusted host from output
pip-compile --no-emit-trusted-host
Install pip-tools
pip install pip-tools
Rebuild from scratch ignoring cache
pip-compile --rebuild
Quick Commands
Generate pinned requirements.txt from loose dependencies
pip-compile requirements.in
Sync virtual environment to match requirements exactly
pip-sync requirements.txt
Upgrade all packages to latest compatible versions
pip-compile --upgrade