Florian Demmer
= pip-compile + pip-sync
Django Friends Meetup, 2017-06-14
A set of tools to keep your pinned Python dependencies fresh.
-- https://github.com/jazzband/pip-tools
# pip install pip-tools # vi requirements.in wagtail==1.3.1 <esc>:x # pip-compile requirements.in # cat requirements.txt wagtail==1.3.1 django-modelcluster==1.1 # via wagtail django-taggit==0.18.0 # via wagtail ...
flashback... 2016-01-25
# pip-compile requirements.in
useful for additional "dev" requirements
*.in file:
-r base.in
django-debug-toolbar
*.in file:
--extra-index-url https://private.site/pypi/
upgrade everything (according to pinning)
# pip-compile --upgrade
upgrade only specific package
# pip-compile --upgrade-package requests
finally update your virtualenv
# pip install -r dev.txt
or sync (= make sure venv is equal to dev.txt)
# pip-sync dev.txt
show outdated packages
# pip list --outdated
newrelic (2.80.1.61) - Latest: 2.86.3.70 [sdist]
paramiko (2.1.2) - Latest: 2.2.0 [wheel]
path.py (8.2.1) - Latest: 10.3.1 [wheel]
https://github.com/jazzband/pip-tools
my twitter: @fdemmer
slides: https://slides.com/fdemmer