Summary: Download the latest Anaconda for Python 3.x, 64 bit. Reasoning below.
While building this course, I inevitably faced version hell, or the Works on my machine hell.
If you have never seen it, it happens when code works perfectly on your machine, but not on a PC right next to yours.
This usually happens because they have version 0.003 of CrappyLibrary, while you have 0.004.
Now, people who spend all their time in web development will say Just use virtualenv, not realising virtualenv doesn’t play so well with compiled programs. And the problem with many data science libraries is, they were written in Fortran / C / C++, and even if you have C++ installed, you might not have some library installed, and if you know C++, you will get a weird 200 line error. Googling it will lead you to forums where the top reply is RTFM, you idiot.
You get the idea.
I thought about creating a virtual machine. Even went as far to create a Vagrant based one, that was light and easy to load.
And then the first time I tried to open a Gigabyte file, it died. Just died.
While I don’t open GB files every day, it did point me out to a flaw in VMs. At the end of the day, they are an overhead. They use their own resources, resources which are then not available to you.
Which is why, now I only recommend you install the latest Anaconda for Python 3.x, 64 bit. From my perspective, all I need to do is update my distribution regularly, so I can get the latest changes.
You might wonder why we need the whole Anaconda. After all, we could get Miniconda or something similar, right?
The problem then is, you get into the situation where you need X, but that needs Y, and that needs Z, and soon you are installing 500MB of libraries. Since disk space is cheap, just get the whole Anaconda and be done with it.
I will use Python 3, since I think it’s time to move on. Python 2.x is still prevalent but no longer improved; if you want the cutting edge, Python 3 is the way to go.
What if you have another Python installed?: You are allowed to have multiple versions of Python on your system. The one that is called by default is the one that is first in the path.
So you can keep your old version, and have two Pythons side by side.