Installing Python modules

As a popular open source development project, Python has an active supporting community of contributors and users that also make their software available for other Python developers to use under open-source license terms.

Cela permet aux utilisateurs de Python de partager et de collaborer efficacement, bénéficiant des solutions que les autres ont déjà crées pour résoudre les problèmes communs (ou même, parfois, rares !), aussi que de partager leurs propres solutions à tous.

Ce guide couvre la partie installation. Pour un guide sur la création et le partage de vos propres projets Python, consultez le Python packaging user guide.

Note

Pour les entreprises et autres institutions, gardez en tête que certaines organisations ont leurs propres règles sur l'utilisation et la contribution au logiciel libre. Prenez ces règles en compte lorsque vous utilisez les outils de distribution et d'installation fournis par Python.

Vocabulaire

  • pip is the preferred installer program. It is included by default with the Python binary installers.

  • Un environnement virtuel est un environnement Python semi-isolé qui autorise les paquets à être installés pour une application particulière, plutôt que d'être installés au niveau du système.

  • venv is the standard tool for creating virtual environments. It defaults to installing pip into all created virtual environments.

  • virtualenv is a third-party alternative (and predecessor) to venv.

  • The Python Package Index (PyPI) is a public repository of open source licensed packages made available for use by other Python users.

  • The Python Packaging Authority is the group of developers and documentation authors responsible for the maintenance and evolution of the standard packaging tools and the associated metadata and file format standards. They maintain a variety of tools, documentation, and issue trackers on GitHub.

Modifié dans la version 3.5: L'utilisation de venv est maintenant recommandée pour créer vos environnements virtuels.

Utilisation de base

Les outils standards de création de paquets sont tous conçus pour être utilisés à partir de la ligne de commande.

The following command will install the latest version of a module and its dependencies from PyPI:

python -m pip install SomePackage

Note

Pour les utilisateurs POSIX (y compris Mac OS X et Linux), les exemples de ce guide supposent l'utilisation d'un environnement virtuel.

Pour les utilisateurs de Windows, les exemples de ce guide supposent que l'option proposant de modifier la variable d'environnement PATH à été cochée lors de l'installation de Python.

Il est aussi possible de préciser une version minimum exacte directement depuis la ligne de commande. Utiliser des caractères de comparaison tel que >, < ou d'autres caractères spéciaux qui sont interprétés par le shell, le nom du paquet et la version doivent être mis entre guillemets :

python -m pip install SomePackage==1.0.4    # specific version
python -m pip install "SomePackage>=1.0.4"  # minimum version

Normalement, si un module approprié est déjà installé, l'installer à nouveau n'aura aucun effet. La mise à jour de modules existants doit être demandée explicitement :

python -m pip install --upgrade SomePackage

More information and resources regarding pip and its capabilities can be found in the Python Packaging User Guide.

La création d'environnements virtuels est réalisée grâce au module venv. Installer des paquets au sein de l'environnement virtuel courant utilise les commandes montrées précédemment.

Comment puis-je … ?

Ce sont des réponses rapides ou des liens pour certaines tâches courantes.

... Installer des paquets juste pour l'utilisateur actuel ?

Donner l'option --user à python -m pip install lui fera installer un paquet juste pour l'utilisateur en cours, plutôt que pour tous les utilisateurs du système.

... Installer des paquets Python scientifiques ?

A number of scientific Python packages have complex binary dependencies, and aren't currently easy to install using pip directly. It will often be easier for users to install these packages by other means rather than attempting to install them with pip.

... Travailler avec plusieurs versions de Python installés en parallèle ?

On Linux, macOS, and other POSIX systems, use the versioned Python commands in combination with the -m switch to run the appropriate copy of pip:

python3    -m pip install SomePackage  # default Python 3
python3.14 -m pip install SomePackage  # specifically Python 3.14

Appropriately versioned pip commands may also be available.

On Windows, use the py Python launcher in combination with the -m switch:

py -3    -m pip install SomePackage  # default Python 3
py -3.14 -m pip install SomePackage  # specifically Python 3.14

Les problèmes d'installation typiques

Installer dans le Python du système sur Linux

On Linux systems, a Python installation will typically be included as part of the distribution. Installing into this Python installation requires root access to the system, and may interfere with the operation of the system package manager and other components of the system if a component is unexpectedly upgraded using pip.

On such systems, it is often better to use a virtual environment or a per-user installation when installing packages with pip.

Pip n'est pas installé

It is possible that pip does not get installed by default. One potential fix is:

python -m ensurepip --default-pip

There are also additional resources for installing pip.

Installation d'extensions binaires

Python once relied heavily on source-based distribution, with end users being expected to compile extension modules from source as part of the installation process.

With the introduction of the binary wheel format, and the ability to publish wheels through PyPI, this problem is diminishing, as users are more regularly able to install pre-built extensions rather than needing to build them themselves.

Some of the solutions for installing scientific software that are not yet available as pre-built wheel files may also help with obtaining other binary extensions without needing to build them locally.