Freezing Python’s Dependency Hell in 2018
https://tech.instacart.com/freezing-pythons-dependency-hell-in-2018-f1076d625241
The challenge of managing dependencies in Python has been described by many different people. It’s a storied past, which has left a history of conflicting posts across the web. Even with state-of-the-art best practices, you can still end up in Dependency Hell when adding new dependencies, because there is an open issue for pip first reported in 2013 to implement dependency resolution. The usual series of workarounds ends up like this relevant XKCD:
At Instacart, we’re automating our best practices in Lore, so Data Scientists and Machine Learning Engineers can trivially replicate their work on any computer in any environment, without spending time in Dependency Hell. This helps multiple people collaborate on a single project and switch from one project to another as easily as changing directories. It also eliminates random production issues from unintentional changes to secondary dependencies.