# `ensurepip` --- Bootstrapping the `pip` installer

Ajouté 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

Availability: not Android, not iOS, not WASI.

This module is not supported on mobile platforms or WebAssembly platforms.

## 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 <dir>

  Installs `pip` relative to the given root directory rather than the root of the currently active virtual environment (if any) or the default root for the current Python installation.

--user

  Installs `pip` into the user site packages directory rather than globally for the current Python installation (this option is not permitted inside an active virtual environment).

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

  If an alternate installation is requested, the `pipX` script will not be installed.

--default-pip

  If a "default pip" installation is requested, the `pip` script will be installed in addition to the two regular scripts.

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 par `ensurepip`.

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 dans `ensurepip`.

  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` et `pipX.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'argument `root`.

  Note

  Le processus d'amorçage a des effets de bord sur `sys.path` et `os.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, car `pip` pourrait dans une version future se passer de ces dépendances.