Turpan: Conda


Conda ou miniconda ?

conda est un gestionnaire d’environnements appelé miniconda et un ensemble de paquets utiles pour les applications scientifiques. Nous avons fait le choix d’installer miniconda seul, et de définir plusieurs environnements"types" que vous pourrez utiliser en fonction de votre projet.

Si ces environnements ne vous conviennent pas, nous expliquons ici comment construire votre propre environnement

 

Charger l’environnement

module purge
module load conda/22.11.1

Vérifier quels sont les environnements disponibles

conda env list

# conda environments:                                                                                                   
#                                                                                                                       
base                     /usr/local/miniconda/22.11.1                                                                   
python-3.10.9            /usr/local/miniconda/22.11.1/envs/python-3.10.9                                                
python-tools-3.10.9      /usr/local/miniconda/22.11.1/envs/python-tools-3.10.9

Le caractère ’*’ montre quel est votre environnement courant

Activer un environnement

conda activate python-3.10.9

(python-3.10.9) [toto@turpanlogin1 ~]$
 

Vérifier les paquets installés dans l’environnement courant

(python-tools-3.10.9) [toto@turpanlogin1 ~]$ conda list                                                         

# packages in environment at /usr/local/miniconda/22.11.1/envs/python-tools-3.10.9:                                         
#                                                                                                                           
# Name                    Version                   Build  Channel                                                          
_libgcc_mutex             0.1                        main                                                                   
_openmp_mutex             5.1                      51_gnu                                                                   
anyio                     3.5.0           py310hd43f75c_0                                                                   
argon2-cffi               21.3.0             pyhd3eb1b0_0                                                                   
argon2-cffi-bindings      21.2.0          py310h2f4d8fa_0     
[...]

Rechercher un paquet à installer

(python-tools-3.10.9) [toto@turpanlogin1 ~]$ conda search tensorflow

Loading channels: done
# Name                       Version           Build  Channel             
tensorflow                     2.5.0 eigen_py37h1457a7e_0  pkgs/main           
tensorflow                     2.5.0 eigen_py38h761523d_0  pkgs/main           
tensorflow                     2.5.0 eigen_py39hf3b6bb3_0  pkgs/main
 

Installer des paquets dans l’environnement courant

Pour installer une version spécifique de numpy :

(python-tools-3.10.9) [toto@turpanlogin1 ~]$ conda install numpy=1.22

Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): done
Solving environment: done


==> WARNING: A newer version of conda exists. <==
  current version: 22.11.1
  latest version: 23.1.0

Please update conda by running

    $ conda update -n base -c defaults conda

Or to minimize the number of packages updated during conda update use

     conda install conda=23.1.0



## Package Plan ##

  environment location: /usr/local/miniconda/22.11.1/envs/python-tools-3.10.9

  added / updated specs:
    - numpy=1.22


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    numpy-1.22.3               |  py310h983bb6b_0          10 KB
    numpy-base-1.22.3          |  py310he6496e5_0        11.0 MB
    ------------------------------------------------------------
                                           Total:        11.0 MB

The following packages will be DOWNGRADED:

  numpy                              1.23.5-py310hce24898_0 --> 1.22.3-py310h983bb6b_0 
  numpy-base                         1.23.5-py310h5f09236_0 --> 1.22.3-py310he6496e5_0

[...]

Installer un paquet avec pip

Certains logiciels s’installent avec pip et pas avec Conda. Il est tout-à-fait possible d’utiliser pip dans un environnement conda, mais nous vous recommandons de commencer par lire cette documentation (en anglais), qui explique les précautions à prendre.

 

Créer ou cloner un nouvel environnement

Pour installer un environnement spécifique à partir d'un environnement existant :

(python-tools-3.10.9) [toto@turpanlogin1 ~]$ conda create -n mon_environnement --clone python-tools-3.10.9


Source:      /usr/local/miniconda/22.11.1/envs/python-tools-3.10.9
Destination: /usr/local/miniconda/22.11.1/envs/mon_environnement
Packages: 152
Files: 0

Downloading and Extracting Packages


Downloading and Extracting Packages

Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
#     $ conda activate mon_environnement
#
# To deactivate an active environment, use
#
#     $ conda deactivate

Activer ce nouvel environnement :

(python-tools-3.10.9) [sysinst@turpanlogin1 ~]$ conda activate mon_environnement

NOTE : Afin que tout se passe bien, et notamment l’utilisation ultérieure de pip dans votre environnement, il est préférable de cloner l’environnement base, par exemple plutôt que de créer un environnement à partir de rien avec le switch --clone base

Pour installer un nouveau paquet dans cet environnement :

(mon_environnement) [toto@turpanlogin1 ~]$ conda install mon_paquet

Faire le ménage dans ses environnements

Pour supprimer un de mes environnements dont je n'ai plus besoin :

(mon_environnement) [sysinst@turpanlogin1 ~]$ conda deactivate
(python-tools-3.10.9) [sysinst@turpanlogin1 ~]$ conda env remove -n mon_environnement


Remove all packages in environment /usr/local/miniconda/22.11.1/envs/mon_environnement:


(python-tools-3.10.9) [sysinst@turpanlogin1 ~]$

Supprimer les environnements inutiles permet d'économiser l’espace disque.

Faire le ménage dans ses paquets

Toutes ces manipulations vont remplir votre home, en particulier vous vous retrouverez avec un grand nombre de fichiers .tgz qui ne servent plus à rien une fois les paquets installés. C’est ce qu’on appelle le cache. Par prudence, commencez par une commande qui ne fera rien d’autre que de vous dire ce qui sera nettoyé :

conda clean -a --dry-run

Si vous souhaitez garder des tgz (pour pouvoir reproduire votre installation ailleurs par exemple), c’est le moment de les mettre en lieu sûr ! Et quand vous êtes prêts :

conda clean -a

Si certains paquets ont été installés avec la commande pip, vous pouvez utiliser ces commandes pour supprimer les fichiers temporaires mis en cache lors de l'installation :

  • Localiser le répertoire contenant le cache : pip cache dir
  • Purger les fichiers du cache : pip cache purge

Voir aussi

python-tools

Cet article décrit le contenu de l’environnement conda "python-tools", les modules python et leurs version et indique comment l’utiliser

python

Cet article décrit les différentes versions disponibles de l’environnement conda "python"

Jupyter notebook

Comment utiliser Jupyter Notebook avec Olympe