Installation de modules Python¶
Email: | distutils-sig@python.org |
---|
En tant que logiciel libre populaire, Python bénéficie d’une communauté active de contributeurs et d’utilisateurs qui rendent à leur tour leurs logiciels disponibles, sous licence libre, pour les autres développeurs Python.
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, voyez le guide de distribution.
Note
Pour les entreprises et autres institutions, gardez en tête que certaines organisations ont leur 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
est l’outil d’installation de prédilection. À partir de Python 3.4, il est inclus par défaut avec l’installateur de Python.- un environnement virtuel est un environnement Python, semi-isolé, qui permet d’installer des paquets pour une application particulière, plutôt que de les installer sur le système entier
pyvenv
est l’outil standard pour la créer des environnements virtuels, il fait partie de Python depuis Python 3.3. À partir de Python 3.4,pip
est installé par défaut dans tous les environnements virtuels.virtualenv
est une troisième variante (et le prédécesseur) depyvenv
. Il permet d’utiliser des environnements virtuels sur des versions de Python antérieures à la 3.4, qui, soit ne fournissent paspyvenv
du tout, soit ne sont pas en mesure d’installer automatiquementpip
dans des environnements créés.- le Python Packaging Index est un dépôt public de paquets sous licence libre rendus disponibles par d’autres utilisateurs Python
- le Python Packaging Authority est le groupe de développeurs et d’auteurs de documentation responsables de la maintenance et de l’évolution des outils standards de création de paquets, des métadonnées, et des formats de fichiers standards. Ils maintiennent quelques outils, documentation, et gestionnaires de ticket, aussi bien sur GitHub que sur BitBucket.
distutils
est le premier système de construction et de distribution ajouté à la bibliothèque standard en 1998. Bien que l’utilisation directe dedistutils
soit progressivement supprimée, elle reste le fondement de l’infrastructure actuelle de construction de paquet et de distribution. Au delà de rester dans la bibliothèque standard, son nom vit aussi sous d’autres formes, tel que la liste de diffusion utilisée pour coordonner le développement et les standards de la création de paquet.
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.
La commande suivante va installer la dernière version d’un module et ses dépendances depuis le Python Package Index :
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
Plus d’informations et de ressources concernant pip
et ses capacités peuvent être trouvées dans le Python Packaging User Guide.
pyvenv
a sa propre documentation : pyvenv - Creating virtual environments. Installer dans un environnement virtuel actif se fait avec les commandes indiquées ci-dessus.
Comment puis-je …?¶
Ce sont des réponses rapides ou des liens pour certaines tâches courantes.
… Installer pip
avec une version de Python antérieures à la 3.4 ?¶
Python n’a commencé à fournir pip
depuis Python 3.4. Pour les versions précédentes, pip
a besoin d’être « amorcé » tel que décrit dans le Python Packaging User Guide.
… 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 ?¶
Un certain nombre de paquets Python scientifiques ont des dépendances complexes, et ne sont pas facile à installer avec pip
. Pour le moment, il sera souvent plus facile d’installer ces paquets par d’autres moyens <https://packaging.python.org/en/latest/science/> __ plutôt que de tenter de les installer avec pip
.
… Travailler avec plusieurs versions de Python installés en parallèle ?¶
Sous Linux, Mac OS X et les systèmes POSIX, utilisez les commandes Python versionnées en combinaison avec l’option -m
pour exécuter la copie appropriée de pip
python2 -m pip install SomePackage # default Python 2
python2.7 -m pip install SomePackage # specifically Python 2.7
python3 -m pip install SomePackage # default Python 3
python3.4 -m pip install SomePackage # specifically Python 3.4
(des versions de pip
dont le nom est versionné peuvent également être disponibles)
Sous Windows, utilisez le lanceur Python py
en combinaison avec l’option -m
:
py -2 -m pip install SomePackage # default Python 2
py -2.7 -m pip install SomePackage # specifically Python 2.7
py -3 -m pip install SomePackage # default Python 3
py -3.4 -m pip install SomePackage # specifically Python 3.4
Les problèmes d’installation typiques¶
Installer dans le Python du système sur Linux¶
Sur les systèmes Linux, une installation de Python sera généralement inclue dans le cadre de la distribution. Installer dans cette installation de Python nécessite un accès root sur le système, et peut interférer avec le fonctionnement du gestionnaire de paquets du système et d’autres composants du système si un composant est mis à jour de façon inattendue en utilisant pip
.
Sur de tels systèmes, il est souvent préférable d’utiliser un environnement virtuel ou une installation par l’utilisateur lors de l’installation des paquets avec pip
.
Installation d’extensions binaires¶
Python a généralement beaucoup misé sur une distribution basée sur les sources, avec laquelle les utilisateurs finaux devaient compiler, lors de l’installation, les modules d’extension à partir des sources.
Avec l’introduction du format binaire wheel
, et la possibilité de publier des wheels, pour, au moins Windows et Mac OS X, via le Python Package Index, ce problème devrait diminuer au fil du temps, car les utilisateurs sont plus régulièrement en mesure d’installer des extensions pré-compilées plutôt que de devoir les compiler eux-mêmes.
Certaine solutions pour installer des logiciels scientifiques qui ne sont pas encore disponibles sous forme de fichiers wheel
peuvent aussi aider pour obtenir ces extensions binaire sans avoir à les compiler localement.