Update from March 14, 2019: The Python packaging landscape has changed significantly since I first wrote this post. Your choice today is mostly between using pip-tools directly, using Pipenv (which is a Swiss army knife kind of tool that internally relies on pip-tools), or newer tooling like Poetry. A good post to help you decide which is the tool to best fit your use case is Python Application De