JYP steps for installing Miniconda3

What? Why?

Miniconda3 is a minimal python environment/distribution that can be used for creating more complete working environments. It will basically make conda available on your computer, and then you can use conda to install and update more stuff.

A python environment is basically where and how you install python. A python distribution is more which packages you have chosen to install together in the environment. Hmmm, well, these are very similar things!

You don't need to be (and you should not be) root when you install Miniconda3. You just need enough disk space where you have write access

If you are installing Miniconda3 in a Linux environment on a Windows 10 computer using Windows Subsystem for Linux (WSL), pay special attention to the instructions on the WSL lines

The way you do things will depend on how you are going to use python? Are you installing the environment just for you, or for multiple users?

We could also start with the Anaconda installer that will install a much more complete python environment, ready for use, but we choose not to do that because Anaconda requires more disk space at the beginning, with all its components coming from the default channel (or repository) provided by the conda repository. It's not useful because we will be mostly using (the same) packages provided by the conda-forge channel.

The steps on this page are adapted from the much older (but with lots of extra and possibly useful details) installing miniconda instructions

Installing miniconda3 in a Linux-like computer

By Linux-like, we mean: A native Linux computer A windows 10 computer with WSL+Ubuntu installed A mac where you can use Linux in a terminal

Get the Python 3.8 Linux 64-bit (bash installer) (unless there is a more recent version?)

Find some temporary space on Linux (or Windows, if you are using WSL)

e.g. Linux at LSCE:
cd /home/scratch01/<your_login>

e.g. WSL, assuming that there is a C:\Scratch\<your_login> directory:
cd /mnt/c/Scratch/<your_login>

Use wget to download the installer:
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh (90 Mb, 26 Feb 2021)

Execute the installer

bash Miniconda3-latest-Linux-x86_64.sh

Accept the license

Note: at the end of the installation (next step), answer no to the following question, so that the installer does not change your existing shell initialization files!
Do you wish the installer to initialize Miniconda3 by running conda init? [yes|no] ⇒ NO

Specify an explicit installation path outside of your home directory, with enough disk space (more than 3 Gb if you are going to install CDAT and some extra packages), preferably on a disk that is not backed up:

Installations by JYP:

Linux at LSCE: /home/share/unix_files/cdat/miniconda3, or a miniconda3<some_version> subdirectory of /home/share/unix_files/cdat/

Linux on ciclad: /data/jypmce/cdat/miniconda3, or a miniconda3<some_version> sub-directory of /data/jypmce/cdat/

WSL: installing to a directory that is not in /home/ does not work (e.g. /mnt/h/CDAT/miniconda3,assuming there is a H:\CDAT\ directory, does not work)
You need to accept the installation in the default location: /home/<your_login>/miniconda3

The resulting miniconda3 directory size is 342M

> du -sh miniconda3
342M miniconda3
> cd miniconda3
> du -sh *
20M bin
0 compiler_compat
4.0K condabin
684K conda-meta
0 envs
16K etc
5.5M include
4.0K info
198M lib
12K LICENSE.txt
114M pkgs
604K share
4.0K shell
0 ssl
0 x86_64-conda_cos6-linux-gnu

Initialize the newly installed conda environment (this will initialize the environment only in the current terminal):

bash shell: source <installation_path>/miniconda3/etc/profile.d/conda.sh

tcsh shell: source <installation_path>/miniconda3/etc/profile.d/conda.csh

Check if you can use the conda command, and use it to initialize the base environment

$ which conda
<installation_path>/miniconda3/condabin/conda
$ which python
/usr/bin/python
$ conda activate
(base) $ which python
<installation_path>/miniconda3/bin/python

Update the new installation

$ conda update --all
[...]

During the update, the miniconda3 directory size goes from 432 Mb to 581 Mb. This directory will keep on growing, which is the reason why you should put it on a (preferably non backed up) disk where you have enough space

Make sure we have the latest conda package (just in case we did not get it with the update)
conda update -n base conda

Remove the installer later, when you have tester your installation:
rm Miniconda3-latest-Linux-x86_64.sh

Initializing conda in new terminals

When you open a terminal, your shell needs to know where to find the conda command used to initialize an environment, or switch between environments

General case

You were asked the following question when installing miniconda3: Do you wish the installer to initialize Miniconda3 by running conda init? [yes|no]

If you answered yes, the installer probably added some very complicated lines to your shell configuration files, but you probably have conda directly available when you open a new terminal

if you answered no (as suggested), use a text editor to add an extra line to the appropriate configuration file

bash user: add this line to ~/.bashrc
source <installation_path>/miniconda3/etc/profile.d/conda.sh

tcsh user: add this line to ~/.cshrc
source <installation_path>/miniconda3/etc/profile.d/conda.csh

We choose not to add a conda activate env_name line to the shell configuration files, in order to avoid side effects. When we open a new terminal, we get the default python available on the system. When we need a specific python environment, we just open a new window and then explicitly type: conda activate env_name

Multi-user installation

In the case of python environments installed by a single user, but used by several users, we could do the same as above, but it can be useful to have the users source an intermediate initialization file, that will the source the lines above. This makes it easier to maintain the

The idea is not to use the miniconda3 initialization lines that the miniconda3 installer could have automatically added at the end of shell configuration file and put them (and other useful commands) in a special initialization file, that can be sourced only when we actually want to use conda and CDAT (in order to avoid potential side effects)

bash shell users

See the ~your_login/.conda3_jyp.sh file below, and how to use it, in a bash shell. In a tcsh shell, see the ~jypeter/.conda3_jyp.csh further down. In both shell cases, if you are installing your own version of python, you need to use your own location of the initialization files in the source lines, and you can use another file name than conda3_jyp

$ which python
/usr/bin/python
$ cat ~jypeter/.conda3_jyp.sh
# Conda initialization by JYP, NEW style
#
# Use this for working with conda and CDAT centrally managed by JYP
#
# Execute this file in a BASH shell with
# source path/this_file
# Then get the list of available python distributions with
# conda env list
# Then activate a specific distribution with
# conda activate version_name
#
# More details in:
# https://wiki.lsce.ipsl.fr/pmip3/doku.php/other:python:starting#conda-based_versions_of_uv-cdat
# https://wiki.lsce.ipsl.fr/pmip3/doku.php/other:uvcdat:conda_notes
#
# Jean-Yves Peterschmitt - LSCE - 11/2018
source /home/share/unix_files/cdat/miniconda3/etc/profile.d/conda.sh
# Use the alias below to easily determine where your python
# interpreter is located
alias wp="which python"
# Where are ALL the python interpreters in the search path
alias wpa="which -a python"
# The end
$ source ~jypeter/.conda3_jyp.sh
$ conda activate
(base) $ which python
/home/share/unix_files/cdat/miniconda3/bin/python

tcsh shell users

>which python
/usr/bin/python
>cat ~jypeter/.conda3_jyp.csh
# Conda initialization by JYP, NEW style
#
# Use this for working with conda and CDAT centrally managed by JYP
#
# Execute this file in a TCSH shell with
# source path/this_file
# Then get the list of available python distributions with
# conda env list
# Then activate a specific distribution with
# conda activate version_name
#
# More details in:
# https://wiki.lsce.ipsl.fr/pmip3/doku.php/other:python:starting#conda-based_versions_of_uv-cdat
# https://wiki.lsce.ipsl.fr/pmip3/doku.php/other:uvcdat:conda_notes
#
# Jean-Yves Peterschmitt - LSCE - 11/2018
source /home/share/unix_files/cdat/miniconda3/etc/profile.d/conda.csh
# Use the alias below to easily determine where your python
# interpreter is located
alias wp "which python"
# The end
>source ~jypeter/.conda3_jyp.csh
>conda activate
(base) >which python
/home/share/unix_files/cdat/miniconda3/bin/python

You probably don't want to type the source line each time you need to use your conda based python, so you can add a source ~jypeter/.conda3_jyp.sh line in your ~/.bashrc file, and source ~jypeter/.conda3_jyp.csh line in your ~/.cshrc file. Then, when you need a specific python environment, just type conda activate name_of_the_specific_environment

[ PMIP3 Wiki Home ] - [ Help! ] - [ Wiki syntax ]