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
...