Installation de Miniconda au Centre Blaise Pascal

Miniconda est un outil permettant à chaque utilisateur d'installer un environnement Python (et ses dépendances) pour ses propres besoins. C'est devenu nécessaire voire indispensable pour les applications demandant des versions très spécifiques de librairies.

L'installation de son environnement personnel se décompose en 3 phases :

  1. récupération de l'installeur miniconda sur le site de conda
  2. installation de l'application à l'endroit adapté
  3. configuration de son lancement

Récupération de l'installeur Miniconda

Le site de site de conda est assez explicite.

Pour récupérer le dernier installeur Miniconda pour Python 3.9, tapez les commandes suivantes :

cd $HOME
wget https://repo.anaconda.com/miniconda/Miniconda3-py39_4.9.2-Linux-x86_64.sh
mv Miniconda3-py39_4.9.2-Linux-x86_64.sh Miniconda3.sh

Installation de l'application

A moins de savoir EXACTEMENT ce que vous faites, il est VIVEMENT déconseillé d'installer Miniconda dans son espace utilisateur personnel (le $HOME). En effet, Conda (Miniconda ou Anaconda) installe des centaines de milliers de fichiers. Le $HOME de chaque utilisateur est par défaut limité à 20GB et 500000 inodes. Vous risquez donc de remplir votre espace utilisateur avec une simple installation de Conda

L'installation de compose de 7 étapes :

  1. sauvegarde de la configuration du shell : tapez cp $HOME/.bashrc $HOME/.bashrc.orig
  2. lancement de la commande d'installation : tapez bash $HOME/Miniconda3.sh
  3. la revue de la licence : tapez <Entrée> à la première invite Python
    In order to continue the installation process, please review the license
    agreement.
    Please, press ENTER to continue
    >>>
  4. l'acceptation de la licence : entrez oui à la seconde invite Python
    Do you accept the license terms? [yes|no]
    [no] >>>
  5. le choix de l'emplacement : tapez /scratch/$USER/Miniconda3 à l'invite Python
      - Press ENTER to confirm the location
      - Press CTRL-C to abort the installation
      - Or specify a different location below
    
    [/home/<MyLogin>/miniconda3] >>>
    • vous pouvez spécifier un autre endroit comme, par exemple dans l'espace projets projects
      • pour vous en particulier : /projects/users/$USER/Miniconda3
      • pour un projet en particulier : /projects/<MonProjet>Miniconda3
  6. modification de la configuration du shell : tapez yes à l'invite python
    Do you wish the installer to initialize Miniconda3
    by running conda init? [yes|no]

Par défaut, la configuration de votre shell est modifiée : à chaque ouverture de terminal, l'environnement Conda sera chargé, ce qui peut poser des difficultés si vous travaillez avec plusieurs environnements.

Le mieux est d'appliquer les deux commandes suivantes pour retrouver son environnement initial ET extraire de quoi lancer à discrétion l'environnement Conda :

tail -15 $HOME/.bashrc > CondaLatest.rc
cp $HOME/.bashrc.orig $HOME/.bashrc

Lancement de l'environnement Conda installé

De manière à lancer l'environnement Conda, il suffit de lancer la commande : source $HOME/CondaLatest.rc.

Dans un terminal :

jmylq@threadripper:~$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
jmylq@threadripper:~$ source $HOME/CondaLatest.rc
(base) jmylq@threadripper:~$ echo $PATH
/scratch/jmylq/miniconda3/bin:/scratch/jmylq/miniconda3/condabin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
(base) jmylq@threadripper:~$ echo $LD_LIBRARY_PATH

Nous voyons que le $PATH a été amendé des chemins vers

  • /scratch/jmylq/miniconda3/bin
  • /scratch/jmylq/miniconda3/condabin

Installation d'un logiciel dans l'environnement Conda installée

Une fois l'environnement chargé avec source $HOME/CondaLatest.rc, il suffit de taper conda install <Logiciel> pour que Conda recherche les dépendances, les installe puis installe le logiciel spécifié.

Par exemple, pour l'installation de machine learning pytorch : conda install pytorch

Logs complets d'une installation

Voici les logs complets d'une installation classique :

[/home/jmylq/miniconda3] >>> /scratch/$USER/miniconda3
PREFIX=/scratch/jmylq/miniconda3
Unpacking payload ...
Collecting package metadata (current_repodata.json): done                                                                                                                      
Solving environment: done

## Package Plan ##

  environment location: /scratch/jmylq/miniconda3

  added / updated specs:
    - _libgcc_mutex==0.1=main
    - brotlipy==0.7.0=py39h27cfd23_1003
    - ca-certificates==2020.12.8=h06a4308_0
    - certifi==2020.12.5=py39h06a4308_0
    - cffi==1.14.4=py39h261ae71_0
    - chardet==3.0.4=py39h06a4308_1003
    - conda-package-handling==1.7.2=py39h27cfd23_1
    - conda==4.9.2=py39h06a4308_0
    - cryptography==3.3.1=py39h3c74f83_0
    - idna==2.10=py_0
    - ld_impl_linux-64==2.33.1=h53a641e_7
    - libedit==3.1.20191231=h14c3975_1
    - libffi==3.3=he6710b0_2
    - libgcc-ng==9.1.0=hdf63c60_0
    - libstdcxx-ng==9.1.0=hdf63c60_0
    - ncurses==6.2=he6710b0_1
    - openssl==1.1.1i=h27cfd23_0
    - pip==20.3.1=py39h06a4308_0
    - pycosat==0.6.3=py39h27cfd23_0
    - pycparser==2.20=py_2
    - pyopenssl==20.0.0=pyhd3eb1b0_1
    - pysocks==1.7.1=py39h06a4308_0
    - python==3.9.1=hdb3f193_2
    - readline==8.0=h7b6447c_0
    - requests==2.25.0=pyhd3eb1b0_0
    - ruamel_yaml==0.15.80=py39h27cfd23_0
    - setuptools==51.0.0=py39h06a4308_2
    - six==1.15.0=py39h06a4308_0
    - sqlite==3.33.0=h62c20be_0
    - tk==8.6.10=hbc83047_0
    - tqdm==4.54.1=pyhd3eb1b0_0
    - tzdata==2020d=h14c3975_0
    - urllib3==1.25.11=py_0
    - wheel==0.36.1=pyhd3eb1b0_0
    - xz==5.2.5=h7b6447c_0
    - yaml==0.2.5=h7b6447c_0
    - zlib==1.2.11=h7b6447c_3


The following NEW packages will be INSTALLED:

  _libgcc_mutex      pkgs/main/linux-64::_libgcc_mutex-0.1-main
  brotlipy           pkgs/main/linux-64::brotlipy-0.7.0-py39h27cfd23_1003
  ca-certificates    pkgs/main/linux-64::ca-certificates-2020.12.8-h06a4308_0
  certifi            pkgs/main/linux-64::certifi-2020.12.5-py39h06a4308_0
  cffi               pkgs/main/linux-64::cffi-1.14.4-py39h261ae71_0
  chardet            pkgs/main/linux-64::chardet-3.0.4-py39h06a4308_1003
  conda              pkgs/main/linux-64::conda-4.9.2-py39h06a4308_0
  conda-package-han~ pkgs/main/linux-64::conda-package-handling-1.7.2-py39h27cfd23_1
  cryptography       pkgs/main/linux-64::cryptography-3.3.1-py39h3c74f83_0
  idna               pkgs/main/noarch::idna-2.10-py_0
  ld_impl_linux-64   pkgs/main/linux-64::ld_impl_linux-64-2.33.1-h53a641e_7
  libedit            pkgs/main/linux-64::libedit-3.1.20191231-h14c3975_1
  libffi             pkgs/main/linux-64::libffi-3.3-he6710b0_2
  libgcc-ng          pkgs/main/linux-64::libgcc-ng-9.1.0-hdf63c60_0
  libstdcxx-ng       pkgs/main/linux-64::libstdcxx-ng-9.1.0-hdf63c60_0
  ncurses            pkgs/main/linux-64::ncurses-6.2-he6710b0_1
  openssl            pkgs/main/linux-64::openssl-1.1.1i-h27cfd23_0
  pip                pkgs/main/linux-64::pip-20.3.1-py39h06a4308_0
  pycosat            pkgs/main/linux-64::pycosat-0.6.3-py39h27cfd23_0
  pycparser          pkgs/main/noarch::pycparser-2.20-py_2
  pyopenssl          pkgs/main/noarch::pyopenssl-20.0.0-pyhd3eb1b0_1
  pysocks            pkgs/main/linux-64::pysocks-1.7.1-py39h06a4308_0
  python             pkgs/main/linux-64::python-3.9.1-hdb3f193_2
  readline           pkgs/main/linux-64::readline-8.0-h7b6447c_0
  requests           pkgs/main/noarch::requests-2.25.0-pyhd3eb1b0_0
  ruamel_yaml        pkgs/main/linux-64::ruamel_yaml-0.15.80-py39h27cfd23_0
  setuptools         pkgs/main/linux-64::setuptools-51.0.0-py39h06a4308_2
  six                pkgs/main/linux-64::six-1.15.0-py39h06a4308_0
  sqlite             pkgs/main/linux-64::sqlite-3.33.0-h62c20be_0
  tk                 pkgs/main/linux-64::tk-8.6.10-hbc83047_0
  tqdm               pkgs/main/noarch::tqdm-4.54.1-pyhd3eb1b0_0
  tzdata             pkgs/main/noarch::tzdata-2020d-h14c3975_0
  urllib3            pkgs/main/noarch::urllib3-1.25.11-py_0
  wheel              pkgs/main/noarch::wheel-0.36.1-pyhd3eb1b0_0
  xz                 pkgs/main/linux-64::xz-5.2.5-h7b6447c_0
  yaml               pkgs/main/linux-64::yaml-0.2.5-h7b6447c_0
  zlib               pkgs/main/linux-64::zlib-1.2.11-h7b6447c_3


Preparing transaction: done
Executing transaction: done
installation finished.
Do you wish the installer to initialize Miniconda3
by running conda init? [yes|no]
[no] >>> yes
no change     /scratch/jmylq/miniconda3/condabin/conda
no change     /scratch/jmylq/miniconda3/bin/conda
no change     /scratch/jmylq/miniconda3/bin/conda-env
no change     /scratch/jmylq/miniconda3/bin/activate
no change     /scratch/jmylq/miniconda3/bin/deactivate
no change     /scratch/jmylq/miniconda3/etc/profile.d/conda.sh
no change     /scratch/jmylq/miniconda3/etc/fish/conf.d/conda.fish
no change     /scratch/jmylq/miniconda3/shell/condabin/Conda.psm1
no change     /scratch/jmylq/miniconda3/shell/condabin/conda-hook.ps1
no change     /scratch/jmylq/miniconda3/lib/python3.9/site-packages/xontrib/conda.xsh
no change     /scratch/jmylq/miniconda3/etc/profile.d/conda.csh
modified      /home/jmylq/.bashrc

==> For changes to take effect, close and re-open your current shell. <==

If you'd prefer that conda's base environment not be activated on startup, 
   set the auto_activate_base parameter to false: 

conda config --set auto_activate_base false

Thank you for installing Miniconda3!
ressources/miniconda4cbp.txt · Dernière modification: 2021/06/02 13:24 par equemene