ensurepip
— Amorçage de l'installateur pip
¶
Nouveau dans la version 3.4.
Source code: Lib/ensurepip
Le module ensurepip
met en place l'installateur pip
dans un environnement Python, classique ou virtuel. Ce principe d'amorçage a été choisi car pip
est un projet séparé de Python avec son propre cycle de versions. Il permet en particulier d'embarquer la version la plus récente de pip
dans les mises à jour de maintenance de l'interpréteur CPython comme dans les nouvelles versions principales.
Dans la plupart des cas, il n'est pas nécessaire de recourir à ce module. pip
est le plus souvent déjà installé pour vous. Cependant, ensurepip
peut s'avérer utile si l'installation de pip
a été sautée au moment de l'installation de Python (ou en créant un environnement virtuel), ou bien si pip
a été désinstallé par l'utilisateur.
Note
Ce module n'accède pas au réseau. Tout ce qu'il faut pour amorcer pip
est compris dans le paquet.
Voir aussi
- Installation de modules Python
Guide de l'utilisateur final pour installer des paquets Python
- PEP 453 : Amorçage explicite de pip dans les installations de Python
Les motivations pour l'ajout de ce module et sa spécification d'origine
Interface en ligne de commande¶
On fait appel à l'interface en ligne de commande à l'aide de l'option -m
de l'interpréteur.
L'invocation la plus simple est :
python -m ensurepip
Cette commande installe pip
s'il n'est pas déjà présent. Sinon, elle ne fait rien. Pour s'assurer que la version de pip
est au moins aussi récente que celle embarquée dans ensurepip
, passer l'option --upgrade
:
python -m ensurepip --upgrade
pip
est installé par défaut dans l'environnement virtuel courant, s'il y en a un, ou bien dans le dossier site-packages
du système. L'emplacement d'installation se règle à travers deux options :
--root <dossier>
: installepip
sur un chemin relatif à la racine dossier au lieu de la racine de l'environnement virtuel ou la racine par défaut de l'installation de Python.--user
: installepip
dans le dossiersite-packages
propre à l'utilisateur au lieu du dossier global de l'installation de Python. Cette option n'est pas valide dans un environnement virtuel.
Par défaut, les commandes pipX
et pipX.Y
sont créées (où X.Y est la version de Python avec laquelle ensurepip
est utilisé). Cela se contrôle par deux options supplémentaires :
--altinstall
: dans ce mode d'« installation parallèle », seule la commandepipX.Y
est ajoutée, et pas la commandepipX
.--default-pip
: ce mode d'« installation de la version par défaut » crée la commandepip
en plus depipX
etpipX.Y
.
Combiner ces deux options conduit à une exception.
API du module¶
Le module ensurepip
définit deux fonctions pour utilisation dans les programmes :
-
ensurepip.
version
()¶ Renvoie, sous forme de chaîne, la version de
pip
qui serait installée parensurepip
.
-
ensurepip.
bootstrap
(root=None, upgrade=False, user=False, altinstall=False, default_pip=False, verbosity=0)¶ Amorce
pip
dans l'environnement courant ou un environnement spécifique.Passer root permet de changer la racine du chemin d'installation. Si root vaut
None
(la valeur par défaut), l'installation se fait dans la racine par défaut pour l'environnement courant.upgrade indique s'il faut ou non effectuer la mise à jour d'une éventuelle version plus ancienne de
pip
déjà installée vers la version embarquée dansensurepip
.Si user vaut vrai,
pip
est mis dans des chemins qui le rendent disponible pour cet utilisateur uniquement, et non pour tous les utilisateurs de l'installation de Python.Par défaut, les commandes créées sont
pipX
etpipX.Y
(où X.Y est la version de Python).Si altinstall vaut vrai,
pipX
n'est pas créée.Si default_pip vaut vrai, la commande
pip
est créée en plus des deux autres.Le fait de combiner altinstall et default_pip lève l'exception
ValueError
.verbosity règle le niveau de verbosité des messages émis sur
sys.stdout
pendant l'amorçage.Cette fonction lève un événement d'audit
ensurepip.bootstrap
avec l'argumentroot
.Note
Le processus d'amorçage a des effets de bord sur
sys.path
etos.environ
. Pour les éviter, on peut appeler l'interface en ligne de commande dans un sous-processus.Note
L'amorçage peut installer des modules supplémentaires qui sont requis pour
pip
. Les autres programmes ne doivent pas prendre pour acquise la présence de ces modules, carpip
pourrait dans une version future se passer de ces dépendances.