Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Goal: Introduce conda, define some terminology, how to use on the cluster and finding help.

...

  • Getting Started with Conda: A powerful command line tool for package and environment management that runs on Windows, macOS, and Linux.

  • Conda Documentation: Provides package, dependency, and environment management for any language.

...

Getting Conda: Miniconda vs Anaconda vs Miniforge

Miniconda: (<0.5G) A free minimal installer for conda. It is a small bootstrap version of Anaconda that includes only conda, Python, the packages (<70) they both depend on, and a small number of other useful packages (like pip, zlib, and a few others).

...

  • Conda and Anaconda Navigator (a desktop GUI application built on conda, with options to launch other development applications from your managed environments).

  • 250 automatically-installed packages and access to the Anaconda Public Repository (>8K open-source data science and ML packages).

Miniforge: This community driven repository holds the minimal installers for Conda and Mamba (a reimplementation of the conda package manager in C++) specific to conda-forge (Community-led recipes, infrastructure and distributions for conda - the default and only channel.

...

Term

Definition

package manager

A collection of software tools that automates the process of installing, updating, configuring, and removing computer programs for a computer's operating system.

conda

Conda is a package manager. The package and environment manager program … that installs and updates conda packages and their dependencies.

conda package

A compressed file that contains everything that a software program needs in order to be installed and run, so that you do not have to manually find and install each dependency separately.

conda environment

A folder or directory that contains a specific collection of conda packages and their dependencies, so they can be maintained and run separately without interference from each other.

conda repository

A cloud-based repository that contains packages that are easily installed.

channels

The locations of the repositories where conda looks for packages.

...

Dependency Hell

Note

The concept of dependency hell was introduced in the Module System workshop and rears its ugly head when trying to set up Python and/or R environments with a lot of packages.

Note

Examples of the issue can be found across the Internet:

Info

Conda environments can provide a method to create self contained, independent, environments, with a focus on a specific analysis environment, removing dependency clashes across single behemoth environments.

...

Using Miniconda3/Conda on the Cluster

...