Python/Modules

De WikiOpenTruc
Aller à : navigation, rechercher

Comme avec tous les autres langages, python travaille beaucoup avec des librairies/modules/etc existantes.

  • Il faut donc évidemment que les librairies soient présentes
  • Et, d'une façon ou d'une autre, il faut que soit spécifié se trouvent ces librairies.

Python sait trouver les librairies standards, qui sont naturellement toujours aux mêmes endroits fixés.

Python ne peut pas déterminer tout seul où se trouvent nos modules personnels où les modules qu'on aura téléchargés ici ou là. Il faut donc le lui indiquer.

En python, l'ajout au chemin par défaut se fait via la variable d'environnement PYTHONPATH dans .bashrc. Attention, la variable PYTHONPATH sert exclusivement à rajouter les chemins que l'on souhaite soi-même rajouter. La liste par défaut ne se trouve pas dans PYTHONPATH. La variable PYTHONPATH est vide par défaut.

exemple : export PYTHONPATH=$PYTHONPATH:/home/loulou/mestests

Le gros des modules se trouve à /usr/lib/pythonx.y. On peut donc aussi rajouter ses propres modules là.

Voir eg : http://apprendre-python.com/page-python-path-pythonpath


Attention

  • Les librairies ne sont rangées, ni au même endroit, ni de la même manière, pour les différentes versions de python


import

  • La librairie à importer doit se trouver, ou bien dans le répertoire général /usr/lib/pythonx.y ou dans le même répertoire où se trouve le fichier python à exécuter.
  • La librairie est en pratique un répertoire contenant des fichiers python.
  • Il y a plusieurs manières d'importer les fonctions d'une librairie, donc attention à la syntaxe employée.
  • import truc : pour utiliser la fonction bidule() de la librairie truc, il faut la préfixer : truc.bidule()
  • from truc import * : pour utiliser n'importe quelle fonction, pas besoin de la préfixer. C'est plus court ... mais attention aux collisions !
  • Attention : réimporter une librairie modifiée ne suffit pas à prendre en compte les dernières modifications. Fermer python et le relancer est une soluce. Il y a sûrement un moyen plus propre ?


Paquets intéressants


pip

pip n'est pas installé de base avec python 2.7.x>9

  • Des paquets malveillants portant des noms trompeurs ont été découverts sur la plateforme PyPI, ils pourraient avoir été utilisés dans des logiciels https://www.developpez.com/actu/161070 ... ça fait pas envie ! Hélas, certains modules, eg dispos sur github, ne proposent pas d'autre méthode d'installation.