15. (Ana)conda#

Anaconda is a distribution of Python containing Python, the “conda” package and environment manager, and many software packages for data analytics, data science, and scientific computing.

Over 150 packages are automatically installed with Anaconda, including Python, NumPy, Pandas, Matplotlib, Jupyter, IPython, Spyder See https://www.anaconda.com/products/distribution

Its “ecosystem” consists of three main domains:

  1. Anaconda Repository Over 8,000 open-source data science and machine learning packages, Anaconda-built and compiled for all major operating systems and architectures.

  2. Conda is an open-source package and environment management system. Conda quickly installs, runs, and updates packages and their dependencies. It also easily creates, saves, loads, and switches between environments on your local computer. It was created for Python programs, but it can package and distribute software for any language.

  3. Anaconda Navigator A desktop application that lets you manage integrated applications, packages, and environments without using the command line.

15.1. Package manager#

A package is a dedicated set of functions that is wrapped together and labeled with a package name. You load them using the import statement. The core Python library only contains a limited amount of packages: sys, os etc. Using a package manager you can install, delete and update packages that do not ship with the core of Python.

15.2. Environments#

When starting to work on bigger projects you will use multiple packages. Between projects, these differ and even sometimes cause some conflicts. That is where environments come in. They are isolated (virtual) spaces for working with Pyton projects. When installing a package in an environment, it does not affect other environments.

See This video for an excellent explanation of environment management. It is demonstrated using miniconda which is Anaconda without the GUI (the GUI also gives all this functionality).

15.3. This course#

In this course we will be working with the tools provided by Anaconda Navigator: Jupyter Notebooks for literate programming (also the majority of the course material), Qt Console for quick testing and experimenting and Spyder for writing scripts. These can all be launched from the Anaconda Navigator Home panel.
We will not be working with environments; there is no need because everything we do will be available from any Python 3 distribution.