From my limited experience, python version management is crazy!
I've written medium sized personal python projects. I wasn't so concerned with reproducibility (and I didn't want to bog down my progress) but I still had to write startup scripts that would set up the environment correctly or I would be bit by something unexpected.
I write this from the perspective of a multi-decade c and c++ developer, take this for what you will.