PIP , le gestionnaire de packages python, est utilisé pour installer, mettre à niveau et supprimer des packages écrits en langage de programmation Python. Dans ce guide, nous expliquerons comment installer pip et gérer les packages python tels que l'installation, la mise à jour et la suppression de packages à l'aide de pip. De plus, nous verrons ce qu'est un environnement virtuel, comment le créer et comment isoler les packages dans l'environnement virtuel à l'aide des outils venv et/ou virtualenv.
Installer pip à l'aide des gestionnaires de packages
Sur Arch Linux et ses variantes comme Antergos , Manjaro Linux , vous pouvez installer pip en utilisant la commande :
Python 2 :
$ sudo pacman -S python2-pip python2-wheel python2-setuptools
Python 3 :
$ sudo pacman -S python-pip python-wheel python-setuptools
Sur Fedora 21 :
Python 2 :
$ sudo yum upgrade python-setuptools
$ sudo yum install python-pip python-wheel
Python 3 :
$ sudo yum install python3 python3-wheel
Fedora 22 :
Python 2 :
$ sudo dnf upgrade python-setuptools
$ sudo dnf install python-pip python-wheel
Python 3 :
$ sudo dnf install python3 python3-wheel
Pour obtenir des versions plus récentes de pip, setuptools et wheel pour Python 2, activez PyPA Copr Repo à l'aide de la commande :
$ dnf copr enable pypa/pypa
puis lancez :
$ sudo dnf upgrade python-setuptools
$ sudo dnf install python-pip python-wheel
Sur CentOS/RHEL :
Pip and wheel n'est pas disponible dans les référentiels par défaut de CentOS et RHEL. Pour installer pip sur CentOS, RHEL, Scientific Linux et d'autres systèmes basés sur RPM, activez le référentiel EPEL en utilisant la commande :
$ sudo yum install epel-release
Et puis exécutez la commande suivante pour installer pip :
$ sudo yum install python-pip
$ sudo yum install python-wheel
Étant donné que le package setup-tools est disponible dans les référentiels par défaut, vous pouvez l'installer à l'aide de la commande :
$ sudo yum upgrade python-setuptools
Python 3 :
$ sudo yum install python3-pip
openSUSE :
Python 2 :
$ sudo zypper install python-pip python-setuptools python-wheel
Python 3 :
$ sudo zypper install python3-pip python3-setuptools python3-wheel
Debian/Ubuntu :
Pour Python 2.x :
$ sudo apt-get install python-pip
Pour Python 3.x :
Remplacez "python" par "python3" pour installer la version Python 3.x.
$ sudo apt-get install python3-pip
Dans la version Ubuntu 12.04, pip3 n'était pas fourni. Si vous utilisez Ubuntu 12.04, vous pouvez installer pip3 à l'aide des commandes suivantes :
$ sudo apt-get install python3-setuptools
$ sudo easy_install3 pip
Installer pip à partir des binaires
Si vous souhaitez installer pip à partir de fichiers binaires, exécutez simplement :
$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python get-pip.py
Veuillez noter que get-pip.py installera également setuptools et wheel. Comme je l'ai mentionné plus tôt, certaines distributions Linux n'ont pas de roue dans les référentiels principaux. Dans de tels cas, vous devrez peut-être ajouter des référentiels tiers, par exemple EPEL.
pip est déjà installé si vous utilisez Python 2>=2.7.9 ou Python 3>=3.4 binaires téléchargés depuis python.org. Cependant, vous devrez mettre à jour pip à l'aide de la commande :
$ sudo pip install -U pip
Ou,
$ sudo pip install --upgrade pip
Pour tout mettre à jour (pip, setuptools, whell), lancez :
$ sudo pip install --upgrade pip setuptools wheel
Pour connaître la version installée de pip/pip3, exécutez :
$ pip --version
Ou,
$ pip -V
Exemple de sortie :
pip 9.0.1 from /usr/lib/python3.6/site-packages (python 3.6)
Création d'environnements virtuels
Avant d'installer des packages Python, il est recommandé de créer un environnement virtuel. Pourquoi avons-nous besoin de créer un environnement virtuel ? Vous pourriez demander. Parce que les "environnements virtuels" Python nous permettent d'installer un package Python dans un emplacement isolé, plutôt que de l'installer globalement.
Supposons que vous souhaitiez installer un package python, par exemple youtube-dl, qui nécessite la version 1 de LibFoo, mais qu'une autre application nécessite la version 2. Comment pouvez-vous utiliser ces deux applications ? Si vous installez tout dans /usr/lib/python2.7/site-packages ou /usr/lib/python3.6/site-packages (ou quel que soit l'emplacement standard de votre plate-forme), il est facile de se retrouver dans une situation où vous mettez à niveau involontairement une application qui ne devrait pas être mise à niveau . Pour éviter cela, nous isolons les packages dans l'environnement virtuel. Tous les environnements virtuels ont leurs propres répertoires d'installation et n'interagissent ni n'entrent en conflit les uns avec les autres.
Nous pouvons créer des environnements python isolés à l'aide de deux modules, à savoir :
- venv,
- environnement virtuel.
Pour Python 2.x, vous devez installer virtualenv. Pour ce faire, exécutez :
$ sudo pip install virtualenv
Créons maintenant un environnement virtuel.
Utilisation de virtualenv :
$ virtualenv <DIR_NAME>
$ source <DIR_NAME>/bin/activate
Pour Python 3.x, vous devez installer venv. Sur les systèmes basés sur Ubuntu, vous pouvez l'installer à l'aide de la commande :
$ sudo apt-get install python3-venv
Créez maintenant un environnement virtuel en utilisant venv :
$ python3 -m venv <DIR_NAME>
$ source <DIR_NAME>/bin/activate
Une fois que vous avez exécuté la commande ci-dessus, vous serez immédiatement placé dans votre environnement virtuel.
Pour désactiver l'environnement virtuel et revenir à votre shell normal, exécutez :
$ deactivate
Gérer les packages Python à l'aide de Pip
Nous allons maintenant voir l'utilisation de pip de base la plus courante avec des exemples.
Pour afficher la liste de toutes les commandes pip et des options générales, exécutez :
$ pip
Vous devriez voir une sortie comme ci-dessous.
Pour savoir ce que fait la commande d'installation, exécutez :
$ pip install --help
L'utilisation la plus courante de pip consiste à installer à partir de PyPi (Python Package Index) . PyPi est un référentiel qui contient tous les packages créés par la communauté des développeurs en Python.
Installer des packages
Créez d'abord un environnement virtuel comme indiqué ci-dessous :
Utilisation de virtualenv :
$ virtualenv MYENV
Remplacez MYENV par votre propre nom.
Utilisation de venv :
$ python3 -m venv MYENV
Enfin, activez-le à l'aide de la commande :
$ source MYENV/bin/activate
Une fois que vous aurez exécuté la commande ci-dessus, vous serez placé dans votre environnement virtuel :
Il est maintenant temps d'installer certains packages. Pour installer un package, par exemple youtube-dl, exécutez :
$ pip install youtube-dl
Cette commande installera youtube-dl avec toutes ses dépendances.
Pour installer une version spécifique, exécutez :
$ pip install youtube_dl=2017.12.14
Pour installer une version autre que la version spécifiée, exécutez :
$ pip install youtube_dl!=2017.12.14
Notez le '!" devant le symbole égal.
Pour installer une version égale ou supérieure à la version spécifiée, exécutez :
$ pip install youtube_dl>=2017.12.14
Pour installer une version dans la plage spécifique, par exemple supérieure ou égale à une version et inférieure à une autre, exécutez :
$ pip install youtube_dl>=2017.12.14, <2017.12.20
Pour installer une version "compatible" avec une certaine version :
$ pip install youtube_dl~=2017.12.14
Télécharger des packages
Pour télécharger un package avec toutes les dépendances (sans l'installer), exécutez :
$ pip download youtube-dl
Répertorier tous les packages installés
Pour trouver quels packages ont été installés par pip, exécutez :
$ pip freeze
Ou,
$ pip list
Ces commandes afficheront tous les packages installés utilisant pip dans votre système.
Rechercher des forfaits
Pour rechercher un package spécifique, par exemple youtube-dl, exécutez :
$ pip search youtube-dl
Cette commande recherchera et affichera le résultat correspondant à la chaîne "youtube-dl".
Mettre à jour les packages
Pour répertorier tous les packages obsolètes dans un format de colonne tabulaire simple, exécutez :
$ pip list --outdated --format=columns
Pour mettre à jour un package obsolète, exécutez :
$ pip install --upgrade youtube-dl
Nous pouvons également vider tous les packages dans un fichier et les mettre à jour en une seule fois. Tout d'abord, exportez tous les fichiers vers un fichier :
$ pip freeze > mypackages.txt
Maintenant, mettez à jour tous les packages à la fois à l'aide de la commande :
$ pip install -r mypackages.txt --upgrade
Ou,
$ pip install -r mypackages.txt -U
Si la commande ci-dessus n'a pas fonctionné pour une raison quelconque, utilisez la commande suivante pour mettre à jour tous les packages en même temps :
$ pip freeze --local | grep -v '^\e' | cut -d = -f 1 | xargs -n1 pip install -U
Exporter tous les packages installés dans un fichier
Parfois, vous souhaiterez peut-être exporter tous les packages installés dans un fichier pour les tester dans un environnement différent. Pour ce faire, exécutez :
$ pip freeze > MYENV_packages.txt
Maintenant, désactivez l'environnement virtuel actuel :
$ deactivate
et créez-en un nouveau à l'aide des commandes :
$ virtualenv MYENV1
Remplacez MYENV1 par votre propre nom.
Utilisation de venv :
$ python3 -m venv MYENV1
Activez l'environnement nouvellement créé :
$ source MYENV1/bin/activate
Maintenant, installez tous les packages que nous avons exportés précédemment.
$ pip install -r MYENV_packages.txt
Pour tout installer en même temps sans intervention de l'utilisateur, exécutez :
$ pip install -r MYENV_packages.txt -y
De même, vous pouvez supprimer tous les packages de la liste à l'aide de la commande :
$ pip uninstall -r MYENV_packages.txt -y
Afficher les informations sur le package
Pour afficher les détails d'un package, exécutez :
$ pip show youtube-dl Name: youtube-dl Version: 2017.12.14 Summary: YouTube video downloader Home-page: https://github.com/rg3/youtube-dl Author: Sergey M. Author-email: [email protected] License: UNKNOWN Location: /home/sk/MYENV/lib/python3.6/site-packages Requires:
Afficher les dépendances du package
Nous pouvons visualiser les dépendances de tous les packages installés à l'aide de l'outil "pipdeptree".
Installez-le à l'aide de la commande :
$ pip install pipdeptree
Une fois installé, vous pouvez afficher l'arborescence des dépendances à l'aide de la commande :
$ pipdeptree
Désinstaller les packages
Pour désinstaller/supprimer un package installé, exécutez :
$ pip uninstall youtube-dl
Pour désinstaller plusieurs packages, spécifiez-les en les séparant par des virgules comme ci-dessous :
$ pip uninstall package1, package2
Pour supprimer tous les packages python installés à l'aide de pip, exécutez :
$ pip freeze | xargs pip uninstall -y
Parfois, pip ne vous permet pas de désinstaller les packages appartenant au système d'exploitation. Dans de tels cas, vous pouvez désinstaller tous les packages qui n'appartiennent pas au système d'exploitation à l'aide de la commande :
$ pip uninstall -y $(pip freeze | sed 's;==.*;;g' | tr '\n' ' ')
Comme je l'ai mentionné dans la section précédente, nous pouvons vider tous les packages installés dans un fichier et les désinstaller de la liste à l'aide de la commande :
$ pip uninstall -r MYENV_packages.txt -y
À ce stade, vous pourriez avoir une idée de pip et de son utilisation. Pour plus de détails, consultez la documentation officielle et la section d'aide de pip en exécutant la commande suivante :
$ pip --help
Ou tout simplement,
$ pip
Suggestion de lecture :
- Pipenv - L'outil d'empaquetage Python officiellement recommandé
- Pipx – Installer et exécuter des applications Python dans des environnements isolés
Et, c'est tout pour le moment. J'espère que cela vous a été utile.