Anaconda

So how do you get Python? The most direct way is to download it from the Python.org website. We don’t recommend this.

Python Distributions

Python is a little like Linux. Many people take the core of it, and package it into useful distributions. If you want to use Linux, for example, most people would not start at downloading the kernel. This will leave you with A LOT to do before getting to a working operating system. You will probably rather download a distribution like Debian, Ubuntu, Fedora, or openSUSE. They get you up and running, and doing what is interesting to you in a flash.

Python also has many distributions, like WinPython, ActivePython, Python(x,y), and Anaconda. Anaconda is the one we recommend if you are a scientist or engineer.

conda

We refer to Anaconda and conda quite a bit in this manual. This may be confusing. You now know that Anaconda is a Python distribution. The nice people at Anaconda Inc. have done a stirling job of packaging Python and many useful packages in a form that is easy to install and use. Without it, you will have to do lots of work before getting started with Python.

conda is Anaconda’s environment and package manager. We use it to create Python environments, and then install packages into these environments. We can then use the packges in our scripts and software components. conda is therefore much like apt, the package manager for Debian and Ubuntu that we use to install the software we need.

conda enables us to create multiple Python environments, which we refer to as conda environments. This is useful when we want to use multiple versions of Python (e.g. 2.7, 3.4, 3.6) on the same machine, and when we want to have Python environments configured for specific tasks, like one for thermochemical calculations, one for solving ordinary differential equations, and one for building web applications. These different scenarios will each require us to install a different set of packages. If we do everything in a single environment, it will become bloated. By keeping them separate, they are more lean, easy to work with, and easier to share with colleagues.