As someone who mainly works with other programming languages, I feel like the "obvious way to do it" was always the way Pipenv and its Pipfiles handle things, and it finally arrived.
It's not the first time I say this, but I think it's crazy how long some package ecosystems live without a "sane" package manager, and how recently those even appeared.