Faire un dépôt/miroir pip local

L’outil pip de python offre la possibilité de faire un dépôt local avec la sous-commande download et les options --no-index couplée à --find-links.

Dans certains cas, on peut avoir besoin de conserver de manière particulière les dépendances de son projet. Au delà du gel de la version, il y a aussi la question de l’accès, et il arrive que la machine cible soit totalement isolée.

Avec le langage python et plus particulièrement l’outil pip, la marche à suivre pour avoir un dépôt en local est simple :

A partir de là, le dossier offline_repo peut être archivé et copié sur la machine qui va avoir besoin de ces modules. Ne pas oublier le fichier requirements.txt. Les modules n’auront pas été installés sur le système, ce qui le laisse propre.

Pour installer ces dépendances sur la nouvelle machine (à l’aide du dossier précédemment créé), la commande est :

pip install --no-index --find-links=/home/USER/chemin/absolu/offline_repo -r requirements.txt

Et voilà !


Élément mis à jour

La commande pour télécharger les paquets était pip install --download ... au moment de la publication. Mais elle n’est plus valide depuis fin Mars 2018.

Truc marrant, cette façon de faire était déjà dépréciée quand j’ai rédigé cette note, mais j’avais un environnement avec des versions de python et pip trop vieilles pour m’en rendre compte.