Outils pour utilisateurs

Outils du site


python

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
python [2026/06/24 06:39] – adminpython [2026/10/21 07:37] (Version actuelle) – admin
Ligne 1: Ligne 1:
-====== Installer une version de Python en local (Miniforge / conda) ======+====== Python ======
  
-Cette procédure permet à chaque utilisateur d'installer **sa propre version de 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.
-dans son répertoire personnel, sans droits administrateur et indépendamment de la +
-version système du cluster. Elle s'appuie sur +
-[[https://github.com/conda-forge/miniforge|Miniforge]], une distribution conda légère +
-basée sur conda-forge. On peut ainsi créer autant d'environnements isolés que +
-nécessaire, chacun avec sa propre version de Python et ses propres paquets.+
  
-===== 1. Téléchargement et installation  =====+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.
  
-**A faire depuis un serveur en accès direct : christmas ou l40s02**+===== Tuto rapide =====
  
-Installation dans le répertoire personnel (''~'') :+==== 1. Se connecter à christmas ====
  
-<code bash> +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.
-# Télécharger l'installeur (Linux x86_64) +
-wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh+
  
-# Installer en mode silencieux dans ~/miniforge3 +Dans un terminal de votre PC, tapez :
-bash Miniforge3-Linux-x86_64.sh -b -p ~/miniforge3+
  
-# (optionnel) supprimer l'installeur une fois terminé +<code bash> 
-rm Miniforge3-Linux-x86_64.sh+ssh login@christmas
 </code> </code>
  
-===== 2. Création d'un environnement =====+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 :
  
 <code bash> <code bash>
-# Charger conda dans le shell courant +wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh 
-source ~/miniforge3/etc/profile.d/conda.sh+bash Miniforge3-Linux-x86_64.sh -b -p miniforge3 
 +rm Miniforge3-Linux-x86_64.sh 
 +</code>
  
-# Créer un environnement avec Python 3.10 +Miniforge est installé dans le répertoire ''miniforge3''.
-conda create -n my_env python=3.10 -y+
  
-# Activer l'environnement +==== 3. Créer un environnement ====
-conda activate my_env+
  
-# Vérifier la version +Dans le terminal, tapez :
-python --version+
  
-# Installer les paquets voulus +<code bash> 
-pip install ...+source ~/miniforge3/etc/profile.d/conda.sh 
 +conda create -n mon_env python=3.12 -y 
 +conda activate mon_env
 </code> </code>
  
-===== 3. Réutilisation après reconnexion ===== +Installez ensuite les bibliothèques dont vous avez besoin, par exemple :
- +
-À chaque nouvelle connexion, il faut recharger conda puis réactiver l'environnement :+
  
 <code bash> <code bash>
-source ~/miniforge3/etc/profile.d/conda.sh +pip install numpy pandas
-conda activate my_env+
 </code> </code>
  
-===== 4. Utilisation dans un script Slurm =====+''mon_env'' est le nom de l'environnement : choisissez celui que vous voulez.
  
-Ces deux lignes doivent être placées dans le script **avant** l'appel à Python :+==== 4. Utiliser l'environnement dans un job ==== 
 + 
 +Ajoutez ces deux lignes dans votre script, avant d'appeler Python : 
 + 
 +<file bash mon_job.sh> 
 +#!/bin/bash
  
-<code bash> 
 source ~/miniforge3/etc/profile.d/conda.sh source ~/miniforge3/etc/profile.d/conda.sh
-conda activate my_env+conda activate mon_env
  
 python mon_script.py python mon_script.py
-</code>+</file>
  
-===== Remarques =====+Puis lancez le job depuis le frontal, comme d'habitude :
  
-  * **Architecture** : l'installeur ci-dessus est prévu pour Linux x86_64. Pour des nœuds ARM (aarch64), utiliser ''Miniforge3-Linux-aarch64.sh''. +<code bash> 
-  * **Quota du home** : les environnements conda sont volumineux. Si le quota de ''~'' est limité, installer Miniforge sur un espace projet/scratch (via l'option ''-p'') et y créer les environnements. +sbatch mon_job.sh
-  * **Ne pas lancer ''conda init''** sur le cluster : cela modifie le ''.bashrc'' et peut interférer avec d'autres outils. La méthode par ''source ... conda.sh'' ci-dessus est volontairement préférée. +
-  * **Modules d'environnement** : vérifier qu'aucun module Python (''module load python...'') n'est chargé en parallèle, pour éviter les conflits. +
-  * **mamba** : Miniforge fournit aussi ''mamba'', un équivalent de conda beaucoup plus rapide. On peut remplacer ''conda'' par ''mamba'' pour créer les environnements et installer les paquets.+
 </code> </code>
  
 +C'est tout ! La suite de la page est facultative.
  
-/* +----
-====== Quelques informations concernant l'utilisation de python sur la plateforme======+
  
-===== Problème concernant le lock files avec Keras et H5PY=====+===== 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 : 
 + 
 +<code bash> 
 +source ~/miniforge3/etc/profile.d/conda.sh 
 +conda activate mon_env 
 +</code>
  
- Si vous utilisez une bibliothèque pour manipuler des fichiers, il est possible que vous rencontriez un problème lié au lock file. En effet, sur toutes les machines utilisant CentOs (les noeuds liés à frontalhpc), il semblerait que le NFS (système de fichier en réseau) ait un paramètre visant à bloquer les lock files. +Dans ces commandes, ''~'' désigne votre répertoire personnel : elles fonctionnent quel que soit le répertoire où vous vous trouvez.
  
- Voici la solution pour contourner ce problème si vous utilisez la bibliothèque de deep learning 'Keras'. Par exemple, si vous souhaitez enregistrer un modèle avec des checkpoints, vous risquez de rencontrer ce type d'erreur:+==== Gérer ses environnements ====
  
-  OSError: Unable to create file(unable to lock file, errno=5, error message='Input/output error')+  * Voir la liste de vos environnements : ''conda env list'' 
 +  * Supprimer un environnement : ''conda env remove -n mon_env''
  
-Keras utilise la bibliothèque H5PY pour enregistrer ses modèles et c'est cette bibliothèque qui renvoie l'erreur.+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.
  
- Pour la résoudre, il faut lui spécifier, via une variable d'environnement, de ne pas utiliser les lock file:+==== Ne pas utiliser conda init ====
  
-  export HDF5_USE_FILE_LOCKING="FALSE" +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.
-   +
-Vous pouvez insérer cette commande dans votre script d'exécution ou encore dans votre bashrc. */+
python.1782283198.txt.gz · Dernière modification : 2026/06/24 06:39 de admin