Python is free and open source software. A programmer could download the executables for Python directly from the official site or even download the sourcecode and compile it themselves. But for someone wanting to get straight to programming in Python it is generally better to get a Python distribution. The distributions will generally include a selection of third party libraries that are commonly used but not included with the core of Python, a solid IDE, and perhaps other development tools as well. I take a look at three excellent contenders for Python Distributions here.
WinPython is the version of Python I use at home and the one I personally recommend to anyone that does not want to spend a lot of money on a distribution. It comes with a wide array of third party libraries including SciPy, making it ready to do many types of analytic work immediately.
WinPython is also designed so it can be run as portable software. This makes it convenient for those that need more than one installation of Python, such as a 3.x and a 2.x installation running side by side. Conveniently, WinPython offers both 3.x and 2.x installations. Being portals also means there is no need for administrator access to the machine to use Python on it.
WinPython comes with Spyder, my favorite light weight IDE. I use other options when working on large applications requiring numerous components, but for small Python scripts or small programs I think Spyder is highly conducive to my work flow. WinPython also includes other nice development tools like Qt Designer and has Cython for performance.
Enthought Canopy Python
Enthought Canopy is a commercially supported version of Python. It does offer a free version, but that is severely limited compared to the full version. Enthought is also installed in the user folder and generally does not need local Administrator privileges.
Enthought Canopy comes with a large host of included libraries, including SciPy. It also includes its own IDE. While the IDE works quite well, I personally prefer Spyder. The debugger is excellent, but is only included with the paid version. The paid version also includes other additional features such as online training courses. Enthought is currently only available in a 3.x version.
Overall, I think Enthought is an excellent distribution if you will use and are willing pay for its premium features such as its debugger and its training courses. If you are looking for a free distribution then I think WinPython is generally superior, but a large part of that is that I am partial to Spyder.
Python (X, Y)
Python (X, Y) describes itself as “the scientific Python distribution” and is maintained by Gabi Davar. This used to be my preferred distribution and it remains a well-made Python distribution. It has a slower update speed than some others. As I write this, the last update was posted in June, 2015. It is also available only for Python 2.X. Much like WinPython, it uses Spyder as its default IDE and comes with a variety of scientific libraries and additional tools. Given the slow update speed, I viewed WinPython as a graceful upgrade path from Python(X, Y).
Conclusions and Other Distributions
Of course, those are far from the only distributions available. I only discussed the ones that I had personally used. I have also heard good things about the Anaconda distribution though I will not personally comment on it since I have not tried it. From what I have personally experienced, I am happy to recommend Enthought for anyone that wants and is willing to pay for the premium version. If you want a free version or if you will not use Enthought’s premium features, then WinPython has served me well.