Python : Les librairies

Les “librairies” sont indispensables sous Python. C’est là que l’on va trouver et exploiter de nombreuses fonctions utiles.

Dans le cas des librairies indiquées dans ce site, j’ai (évidemment) vérifié qu’elles sont disponibles et opérationnelles…

Reprenons : si on se contente de faire “exécuter” un programme, il suffit d’installer
Python (en tant que langage)
– lancer une ligne de commande…
Par exemple :

c:> python3 helloworld.py

Et cela suffit pour obtenir le résultat.. Si tous les composants nécessaires (le code principal ET les librairies sont disponibles, évidemment).

Pour ce qui concerne les librairies nécessaires, deux solutions :

Avec environnement de développement

Si on dispose d’en environnement de développement (Anaconda, comme choisi)

  • si la librairie est déjà dans Anaconda : rien à faire
  • si la librairie n’est pas dans Anaconda, mais est supportée par le package : utiliser les fonctions incluses (via interface de contrôle ou la commande “conda install”)

Sans environnement de développement

Là aussi : la commande “pip install” dont la documentation de la commande est disponible ici doit régler le problème.

La commande “pip” est un programme python lui-même… Une fois totalement installé, on peut l’invoquer via un raccourci “pip”, mais sinon, il s’exécute de manière “certaine” (avec la dernière version de python, au cas où…) via

py -m pip <pip arguments> (Windows)
python -m pip <pip arguments> (Unix, linux, MacOs)

Avec le choix de version de la librairie, si nécessaire :

py -m pip install SomePackage # latest version 
py -m pip install SomePackage==1.0.4 # specific version 
py -m pip install 'SomePackage>=1.0.4' # minimum version

Remarque : option -m
Parcourt le “path” à la recherche du module donné et exécute son contenu en tant que module main (au niveau du code).

L’argument étant un nom de module, vous ne devez pas fournir d’extension de fichier (.py). De nombreux modules de la bibliothèque standard contiennent du code qui est invoqué quand ils sont exécutés comme scripts. Un exemple est le module timeit :

python -m timeit -s ‘setup here’ ‘benchmarked code here’
python -m timeit -h # for details

Programme de vérification

Dans le cas due ce site, l’ensembles de librairies utilisables se vérifie via le petit programme (python, évidemment) suivant.

Donc, une fois le langage installé et opérationnel , il suffit de lancer le code via “python – m testlibrary”

# -*- coding: utf-8 -*-
"""
Created on Mon May 16 09:07:44 2022
This program verify library level for all 
programs
@author: TTFonWeb
"""

lib = ("cv2", "glob", "time", "shutil", 
       "math", "pathlib", "json", "pandas", 
       "matplotlib", "argparse", "signal", "datetime", 
       "glob", "cv2", "rawpy", "imageio", "skimage", 
       "astropy", "PIL", "rawpy", "ephem", "pysiril")

cmd=[]

for l in lib:
    try:
        s = __import__(l)
    except:
        cmd.append("pip install "+l)
        print("pip install "+l)

if len(cmd) > 0:
    print ("Needed commands : ")
    for c in cmd:
        print(c+"\n")
else:
    print("Environment ready")

il suffit de sauver ce code sous le nom testlibrary.py et de lancer l’exécution pour “tester” si l’environnement est à jour… Evidemment, la liste des librairie peut facilement se réduire ou s’étendre, au fur et à mesure des utilisations.