I am groping towards having a documented and ideal environment for me to develop in Python. I am going to utilize virtualenv to do so. I know that I can pass the python version as an argument to virtualenv.
What I don't understand is twofold:
1) Why do different versions of some programs (i.e., Python) get installed in different directories? For example, Python 3.3 is installed in /usr/lib/ while 2.7 is installed in usr/bin. Then of course there's the local versions too, but that's not an issue for me since I'm the sole user on my machine. It just seems like a mess and I've never found a satisfactory answer as to why it is this way.
2) If I am going to pass the version as an argument to virtualenv, I would like all of my Pythons to be in a consistent directory so I don't have to remember this stuff. I have read about how when installing from source one can pass an argument to configure to set the installation location, but I've also read that's a good way to really make a mess of things. I don't propose to do it as a habit, though; it's only for my Pythons. So wouldn't that limited use case be ok?
Thanks for any light that anyone can shed on this subject.