===== PIP ===== pip, à ne pas confondre avec Spip ou pipe, est un petit utilitaire pour ajouter librairies (modules on devrait dire) python. Il est bien fichu, il gère les dépendances, et permet de faire un peu de gestion, à la manière d'un gestionnaire de paquet comme aptitude ou yum. === L'installer === c'est facile, il est fourni dans une suite d'outils pour python appelée ''setuptools'', on trouve des paquets facilement dans les gestionnaires de dépots linux, et il existe un executable pour l'installer sous windows. === L'utiliser === == installer un module == pip gère les dépendances d'un module, il va installer tout seul les modules nécessaires au bon fonctionnement du module que vous voulez installer pip install nomModule on peut aussi choisir d'installer une version précise d'un module : pip install nomModule=0.9 == désinstaller un module == pip sait aussi désinstaller des modules : pip uninstall nomModule == upgrade ou downgrade de module == on peut mettre à jour (ou retrograder) un module pip install nomModule --upgrade pip install nomModule=0.9 --upgrade == liste des modules installés == pip nous liste les modules installés et leurs versions $ pip freeze Axiom==0.6.0 BeautifulSoup==3.2.0 Brlapi==0.5.6 == gérer un environnement de développement == on peut générer en une seule commande l'environnement de développement : pip freeze > requirements.txt et l'importer sur une autre machine : pip install -r requirements.txt == installer depuis les sources == Il arrive qu'un module ne soit pas dispo sur //pypi//, mais on peut récupérer une archive des sources avec un ''setup.py'', pip peut l'installer (et référencer ce module par le ''pip freeze'') pip install -e /path/to/the/module/ == installer depuis des miroirs == Si le site pypi n'est pas disponible, pip possède en interne une liste de miroirs qu'on peut solliciter explicitement (pip les essayera les uns après les autres jusqu'au premier qui soit disponible) pip install --use-mirrors nomModule == installer des modules avec des extensions en C == Certain modules, ''numpy'' entre autres, possèdent des extensions en C (pour des raisons de performances) qu'il faut compiler à l'installation. pip sait faire ça, mais le processus peut ne pas aboutir : souvent ces extensions en C nécessitent des dépendances qui ne sont pas en python, et donc pas gérées par pip. Il faut alors regarder du côté du gestionnaire de paquet (''aptitude''/''yum'') pour installer les lib nécessaires, souvent la version //-dev// ou //-devel// pour avoir non seulement les binaires, mais aussi les headers (//.h//). Citons par exemple : ''python-de(vel)'', ''libxml2-dev(el)'' ...