====== Python ======
Cette page explique comment installer votre propre Python, avec les bibliothèques dont vous avez besoin, et l'utiliser dans vos jobs. Tout s'installe dans votre répertoire personnel.
On utilise **Miniforge**, une version légère de conda. Elle permet de créer des **environnements** : chacun contient sa propre version de Python et ses propres bibliothèques.
===== Tuto rapide =====
==== 1. Se connecter à christmas ====
L'installation se fait depuis le serveur ''christmas'' (ou ''l40s02''), pas depuis le frontal : le frontal est un petit serveur, il n'est pas fait pour ça.
Dans un terminal de votre PC, tapez :
ssh login@christmas
Vous arrivez dans votre répertoire personnel : c'est le même que sur le frontal et sur les nœuds de calcul.
==== 2. Installer Miniforge (une seule fois) ====
Dans le terminal, tapez :
wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh
bash Miniforge3-Linux-x86_64.sh -b -p miniforge3
rm Miniforge3-Linux-x86_64.sh
Miniforge est installé dans le répertoire ''miniforge3''.
==== 3. Créer un environnement ====
Dans le terminal, tapez :
source ~/miniforge3/etc/profile.d/conda.sh
conda create -n mon_env python=3.12 -y
conda activate mon_env
Installez ensuite les bibliothèques dont vous avez besoin, par exemple :
pip install numpy pandas
''mon_env'' est le nom de l'environnement : choisissez celui que vous voulez.
==== 4. Utiliser l'environnement dans un job ====
Ajoutez ces deux lignes dans votre script, avant d'appeler Python :
#!/bin/bash
source ~/miniforge3/etc/profile.d/conda.sh
conda activate mon_env
python mon_script.py
Puis lancez le job depuis le frontal, comme d'habitude :
sbatch mon_job.sh
C'est tout ! La suite de la page est facultative.
----
===== Pour aller plus loin =====
==== Retrouver son environnement ====
À chaque nouvelle connexion, pour utiliser votre environnement dans le terminal (par exemple pour installer une nouvelle bibliothèque), tapez :
source ~/miniforge3/etc/profile.d/conda.sh
conda activate mon_env
Dans ces commandes, ''~'' désigne votre répertoire personnel : elles fonctionnent quel que soit le répertoire où vous vous trouvez.
==== Gérer ses environnements ====
* Voir la liste de vos environnements : ''conda env list''
* Supprimer un environnement : ''conda env remove -n mon_env''
Les environnements prennent beaucoup de place et comptent dans votre quota : évitez d'en créer trop, et supprimez ceux dont vous ne vous servez plus.
==== Ne pas utiliser conda init ====
Conda propose de lancer ''conda init'' pour s'activer automatiquement à chaque connexion. **Ne le faites pas** : cette commande modifie votre fichier ''.bashrc'' et peut perturber d'autres outils du cluster. Utilisez plutôt la ligne ''source ...'' ci-dessus.