Python

Python system-wide

Les versions de python du système par défaut (Debian 9) sont Python 2.7.13 et Python 3.5.3. Ces versions sont des versions minimalistes pour lesquelles nous n'avons pas installé de modules supplémentaires.

Cliquez pour afficher ⇲

Cliquez pour masquer ⇱

Les outils idle(3.5 & 2.7), ipython(3 & 2.7), pip(3 & 2.7), virtualenv et bpython sont installés sur toutes les frontales debian.

Environnement python additionnel

Les modules python supplémentaires, ou mis à jour (par rapport à la version Debian 9 Stable), sont disponibles dans l'environnement additionnel Debian 9 du PSMN. Pour cela, il faut charger le modulefile pour la version de python désirée :

ls /applis/PSMN/debian9/software/Core/Python/2.7.13/lib/python2.7/site-packages
ls /applis/PSMN/debian9/software/Core/Python/3.6.1/lib/python3.6/site-packages
ls /applis/PSMN/debian9/software/Core/Python/3.8.3/lib/python3.8/site-packages
Les commandes python2.7 sont _toujours présentes_, même dans les environnements python3 et les environnements virtuels. Il faut donc impérativement suffixer vos commandes : python3, idle3, pip3…

Mieux, il est conseillé d'utiliser l'appel de modules, par exemple :

python3.6 -m pip pour pip3 dans l'environnement Python/3.6.1

Python dans son $HOME

Si, pour une raison ou pour une autre, vous souhaitez installer dans votre $HOME des modules python supplémentaire, cela est tout à fait possible. De même qu'il est possible de compiler son propre python dans son $HOME.

Au besoin, ajoutez aussi l'un des modulefiles Python.

Environnement virtuel : venv

  • Créer en environnement virtuel de travail

See https://docs.python.org/3.6/library/venv.html for full documentation.

module load Python/3.6.1
 
mkdir -p ~/tests/py36 && cd ~/tests/py36
 
python3.6 -m venv ~/tests/py36

Cet environnement virtuel de travail sera minimal. Vous devrez installer ensuite les modules dont vous avez besoin.

Seulement si vous souhaitez utiliser les modules python déjà pré-installés, ajoutez –system-site-packages lors de la création de l'environnement.

  • Activer un environnement virtuel de travail
source ~/tests/py36/bin/activate
(py36)ltaulell@dl175comp:~$
  • Sortir d'un environnement virtuel de travail
(py36)ltaulell@dl175comp:~$ deactivate
ltaulell@dl175comp:~$

Installer un package (exemple)

  • Installer Scipy dans l'environnement virtuel de travail
source ~/tests/py36/bin/activate
(py36)ltaulell@dl175comp:~$ python3.6 -m pip install scipy
 
[... lots of logs ...]
 
Successfully installed scipy
Cleaning up...
  • Utiliser Scipy dans l'environnement virtuel de travail
(py36)ltaulell@dl175comp:~$ python3.6
Python 3.6.1 (default, Jan  8 2018, 14:24:20) 
[GCC 6.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import scipy
>>> 

Installer/Upgrader Numpy (exemple)

  • Ajouter à votre ~/.bashrc (pour Numpy seulement)
export LD_LIBRARY_PATH="/usr/lib/atlas-base:$LD_LIBRARY_PATH"
  • Ou à votre ~/.cshrc
set LD_LIBRARY_PATH "/usr/lib/atlas-base:${LD_LIBRARY_PATH}"
  • Installer Numpy dans l'environnement virtuel de travail
source ~/tests/py36/bin/activate
(py36)ltaulell@dl175comp:~$ python3.6 -m pip install -U numpy
 
[... lots of logs ...]
 
Successfully installed numpy
Cleaning up...
  • Utiliser Numpy dans l'environnement virtuel de travail
(py36)ltaulell@dl175comp:~$ python3
Python 3.6.1 (default, Jan  8 2018, 14:24:20) 
[GCC 6.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
>>> 
Avec la lib Atlas de Debian, numpy sera multithreadé, il faut donc ajouter export OMP_NUM_THREADS=1 à votre environnement d'exécution pour les programmes séquentiels.

Installer python dans son $HOME

Téléchargez la version de python qui vous interesse depuis python.org, puis décompactez l'archive. Suivez les étapes d'installation, en précisant –prefix et altinstall.

cd Python-3.9.4/
./configure --prefix=$HOME/py394

N'utilisez pas –enable-optimizations sauf si vous êtes sur les plus vieilles machines du PSMN (x5570comp1, or x5570comp2, à la date de rédaction de cette documentation).

make -j6
 
make altinstall

Modifiez votre $PATH, comme il est demandé (dans votre ~/.bashrc, export PATH=“$HOME/py394/bin:$PATH”). Ce nouveau python est prêt à l'emploi, directement dans votre $HOME, exemple :

python3.9 -m pip install argparse pandas

Privilégiez, dans la mesure du possible, l'usage des environnements virtuels (voir plus haut).

Docs externes

documentation/tools/langages/python/accueil.txt · Dernière modification: 2021/06/16 13:45 par ltaulell