1. The python 2/python 3 split
2. Quite a few python lines such as 3.5 and the early 3.6 have deadly bugs
3. Diamond dependencies; That is package A depends on package B1 and package C depends on B2 but you can't have B1 and B2.
4. Packages installed in a user's home directory will normally be visible in any virtualenv or conda environment so if you install something there you are hosed.
5. The inverse not-invented-here syndrome which is expecting pip, conda, pipenv, poetry, pyenv, etc. to solve the problem for you as opposed to understanding what factors are at play.
The number of factors at play are finite and the problem is solvable but you have to start with xenophobia and distrust of the platform, get complete control of part of the space first and expand the space you control as opposed to attempt to find the 20% of the whole that gets you 80% of the way there because that last 20% is a woozy and will shift underneath you and make you doubt your sanity...
I feel like I've made it out the other side but I don't know if I could ever communicate what I've learned to a neurotypical.