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.
If you find the python specific tooling too weird just use OCI containers. The packaging and runtime is isolated enough you shouldn't run into dependency or installation issues.
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.