19. • multiple tools for the whole workflow
• no real dependency resolution in pip
• multiple files needed for reproducible environments
(requirements.txt, dev-requirements.txt, …)
23. pyproject.toml
PEP 517 -- A build-system independent format for source trees
PEP 518 -- Specifying Minimum Build System Requirements for Python Projects
27. pip-tools
• set of command line tools: pip-compile and pip-sync
• pip-compile for dependency resolution: generates requirements.txt
from setup.py or a requirements.in
• pip-sync for dependency synchronization
32. Pipenv
• wrapper around pip and virtual environments
• lots of convenience features (e.g. automatic virtualenv creation,
python installation)
• uses Pipfile and Pipfile.lock in addtion to setup.py
• main focus on applications rather than libraries
33. Pipfile
• separate sections for dev and
main dependencies instead of
requirements.txt and dev-
requirements.txt
• optional section to define
required Python version