Why Anaconda Python is my Choice

“Anaconda Python is my distribution choice of Python. There are many like it, but this one is mine.”

(See Rifleman’s Creed)

Without triggering a flame war here, I will start off by saying that there are many distributions of Python available to people and all of them have their pro’s and cons (See Python Distribution List). That said, I personally prefer to use Anaconda for the reason’s I’ll outline below. Generally speaking, the preference of one tool over another is purely objective. If you don’t believe me, just search Vim vs Emacs and get lost in a debate that has been going on for literally decades over personal preference.

1 Package Management

One of the biggest reasons that I love the Anaconda/Conda environment is their package management tool. It’s fairly well curated and provides simple ways for installing pre-compiled binaries of Python Packages. Most everything that everyone is using these days is just a simple conda install <package name>. If you didn’t catch that, conda is the package manager that is included when you install Anaconda Python.

2 It’s Batteries Included+

When talking about Python, a lot of people used to say that it was a “Batteries Included” programming language which referred to the fact that Python does stuff like garbage collection, type detection, and a rich standard library. Well with Anaconda, it takes that to a whole new level by not only providing the source of Python but also coming with a whole lot of Python packages that are used by an overwhelming majority of Data Scientists. A lot of the time, just installing Anaconda will give you everything that you’ll need to do what you are wanting to do without searching for and installing required packages.

3 Conda isn’t just a package manager

As part of the Anaconda installer, you get this really cool CLI tool called Conda. As alluded to, this tool can do package management for you using the Anaconda repos for pre-compiled binaries. Well that’s not all it does, it also serves as a conda environment manager. If you have never used virtualenv or virtualenvwrapper, this may be a little lost on you so go and do some research on Python Virtual Environments. Now there are sometimes some short comings with virtualenv; such as sharing of your virtual environments. For me personally, conda environments are so much easier to work with and are so much more feature rich.

4 They have GUI tools to make life easier for you

Now I generally try to avoid GUI tools where and when I can. Call me a purist but there is something that is so much faster about using a well documented CLI. (Emphasis on ‘well documented’) However if you are not like me, they fortunately have a GUI tool for people on Windows and Mac OS X to make life a bit easier. This GUI allows you to manage all of your environments as well as other Python related apps that come with Anaconda.

5 Comes with Jupyter Notebooks

One of the best things that comes as part of Anaconda when you install it, is Jupyter Notebook. Now technically this should fall under the “Batteries included +” section but Jupyter Notebooks isn’t so much a package as it is an application. This is an immensely powerful tool that anyone who is writing Python code should be using to prototype their next new algorithm or to interactively munge a particular data set.

 

Anaconda Python simply put, makes your life much easier.