Conda

From Fluids Wiki
Jump to navigation Jump to search

Conda is a powerful package manager and environment manager for Python. It has a large collection of packages that often are newer than what comes with the operating system.

Conda packages are neatly contained under your home directory in an environment. Adding or removing packages does not require root access or server administrative privilege.

These Conda environments are most helpful when a package cannot be installed globally because it could cause breakage for other users, or when you need multiple versions of a package.


Getting started

See the "Miniconda quick start guide" below, or the Conda guide: https://docs.conda.io/projects/conda/en/latest/user-guide/getting-started.html

We suggest miniconda over anaconda because it takes a minimalistic approach.

Miniconda quick start guide

Here is a short guide to get you started. Feel free to use a different tag than "mymath".

# Install
wget https://repo.anaconda.com/miniconda/Miniconda3-py39_4.10.3-Linux-x86_64.sh
chmod +x Miniconda3-py39_4.10.3-Linux-x86_64.sh
./Miniconda3-py39_4.10.3-Linux-x86_64.sh -b -s -p "$HOME/miniconda3"

# Run the following to have the conda command available on your shell
source $HOME/miniconda3/etc/profile.d/conda.sh
# if using tcsh or csh, run this instead: source $HOME/miniconda3/etc/profile.d/conda.csh

# HINT: you can add the source script to ~/.bashrc or ~/.cshrc so conda is available on next login.

# Create an environment. You can do this for each project or make a generic one to reuse
conda create --name mymath

# Activate the environment
conda activate mymath

# Examples installing packages into the conda environment:
# HINT: try and install everything in one line so conda can resolve dependencies.
conda install python scipy numpy imageio ipython matplotlib
conda install mkl gcc_linux-64
# also pip works smoothly with the environment
pip install requests

# Check we are using our personal python binary
which python
> /home/myuser/miniconda3/envs/mymath/bin/python

# Unlink the current conda environment and check which python is selected
conda deactivate
which python
> /usr/bin/python

# After a fresh log in, do the following to return to your environment:
source $HOME/miniconda3/etc/profile.d/conda.sh  # or conda.csh
conda activate myenvname