E3 Requirements
All requirements are already installed in the ESS Development Machine (4.x and upward).
E3 is only supported on Linux.
Conda
Conda is a Package, dependency and environment management for any language — Python, R, Ruby, Lua, Scala, Java, JavaScript, C/ C++, FORTRAN.
Conda is open-source and runs on Linux, MacOS and Windows. It allows to easily install packages and their dependencies in isolated environment. You can read more about conda concepts in the official user-guide.
Conda Installation
To install conda, we’ll use the Miniconda installer.
The only requirements to run the installation are bzip2 and curl.
curl -LO https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh -bp $HOME/miniconda
rm -f Miniconda3-latest-Linux-x86_64.sh
# Let conda update your ~/.bashrc
source $HOME/miniconda/bin/activate
conda init
You can refer to the official documentation for more detailed information.
Conda Update
The installer might not come with the latest available version of conda. After installation you should update conda:
conda update -y -c conda-forge -n base conda
To check the version of conda installed, run:
$ conda -V
conda 4.8.3
You need at least conda 4.7 to work with E3. Conda 4.8 is recommended.
Conda Configuration
If you don’t want conda to activate the base environment by default (and modify your PATH), you should run:
conda config --set auto_activate_base false
All E3 packages are available on ESS Artifactory.
Artifactory includes mirrors for anaconda-main and conda-forge channels. You should set artifactory as the the default channel_alias.
To work with E3, you have to use the conda-e3-virtual channel:
conda config --set channel_alias https://artifactory.esss.lu.se/artifactory/api/conda
conda config --add channels conda-e3-virtual
conda config --remove channels defaults
conda 4.7 introduced a new .conda package format. Artifactory 6.11.3 doesn’t support that format and it creates issues with remote conda repository. See RTFACT-19267. To use conda >= 4.7 with Artifactory you should force conda to only download .tar.bz2 packages by setting the use_only_tar_bz2 boolean.
conda config --set use_only_tar_bz2 true
The previous commands created the following ~/.condarc file:
auto_activate_base: false
channel_alias: https://artifactory.esss.lu.se/artifactory/api/conda
channels:
- conda-e3-virtual
use_only_tar_bz2: true
You can modify the configuration by editing directly this file or using the conda config command.
conda-build
conda-build is only required if you want to build conda packages locally. It’s not directly needed to work with E3.
Install conda-build in the base environment:
conda install -y -n base -c conda-forge conda-build
Note
The base environment shall be writeable by the current user to run this command.
Download the conda_build_config.yaml file from the e3-pinning repository. You should save it at the root of your home directory.
[csi@8ef3d5671aef Dev]$ cd
[csi@8ef3d5671aef ~]$ curl -LO https://gitlab.esss.lu.se/e3-recipes/e3-pinning/-/raw/master/conda_build_config.yaml
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 2960 100 2960 0 0 7750 0 --:--:-- --:--:-- --:--:-- 7748
This file defines the default version of each dependency to use.