Comment gérer les packages Python avec Pipenv
L'autre jour, nous avons publié un guide pour débutants sur la gestion des paquets Python avec PIP. Dans ce guide, nous avons expliqué comment installer pip, et comment installer, mettre à jour et désinstaller des paquets Python avec pip. Nous avons également discuté de l'importance des environnements virtuels et de la façon de créer un environnement virtuel avec les outils venv et virtualenv. Aujourd'hui, nous allons apprendre à propos d'un autre gestionnaire de paquets Python nommé pipenv. C'est le nouvel outil de gestion des paquets Python recommandé par Python.org. Il peut être utilisé pour installer et gérer facilement les dépendances Python sans avoir besoin de créer des environnements virtuels. Pipenv crée et gère automatiquement un virtualenv pour vos projets. Il ajoute et supprime également des paquets de votre Pipfile lorsque vous installez ou désinstallez des paquets.
Pourquoi Pipenv ?
Pipenv traite les problèmes en temps réel suivants :
- Vous n'avez plus besoin de créer un environnement virtuel. Pipenv créera automatiquement un virtualenv pour vos projets. Pour le dire simplement, pip et virtualenv fonctionnent ensemble.
- Gérer un fichier requirements.txt peut poser des problèmes, donc Pipenv utilise à la place le prochain Pipfile et Pipfile.lock, ce qui est supérieur pour les cas d'utilisation basiques.
- C'est sûr. Les hachages sont utilisés partout, toujours. Expose automatiquement les vulnérabilités de sécurité.
- Afficher le graphique des dépendances à tout moment.
- Rationalisez le flux de développement en chargeant les fichiers .env.
Eh bien, commençons.
Installer Pipenv sur Linux
Il existe de nombreuses façons d'installer Pipenv. Nous allons voir deux méthodes officiellement recommandées.
1. Installer pipenv en utilisant pip
La façon officiellement recommandée est d'utiliser pip. Assurez-vous d'avoir installé Python et pip. Sinon, référez-vous à notre guide précédent lié dans le premier paragraphe de cet article.
Une fois pip installé, exécutez la commande suivante pour installer pipenv.
$ pip install --user pipenvCette commande installera pipenv au niveau utilisateur (c'est-à-dire pas système-wide). Si pipenv n'est pas disponible dans votre shell après l'avoir installé, vous devrez peut-être ajouter le répertoire binaire de votre base utilisateur à votre PATH. Si vous ne savez pas ce qu'est votre base utilisateur, exécutez la commande suivante pour le découvrir :
$ python -m site --user-baseVous verrez une sortie quelque chose comme ci-dessous.
/home/sk/.localComme vous pouvez le voir dans la sortie ci-dessus, mon répertoire de base utilisateur est /home/sk/.local, et le répertoire binaire de ma base est /home/sk/.local/bin. Clair ? Bien. Maintenant, ajoutez ceci à votre PATH. Pour ce faire, modifiez votre fichier ~/.profile :
$ vi ~/.profileAjoutez cette ligne à la fin :
export PATH="$HOME/.local/bin:$PATH"Appuyez sur la touche ESC et tapez :wq pour enregistrer et quitter le fichier. Ensuite, exécutez la commande suivante pour appliquer les modifications.
$ source ~/.profileEnfin, exécutez la commande suivante :
$ pipenv --updatePour mettre à jour pipenv à tout moment, exécutez la commande suivante :
$ pip install --user --upgrade pipenv
2. Installer pipenv en utilisant pipsi
Pipsi est un outil puissant qui vous permet d'installer des scripts Python dans des environnements virtuels isolés.
Pour installer pipsi, exécutez :
$ curl https://raw.githubusercontent.com/mitsuhiko/pipsi/master/get-pipsi.py | python
Suivez les instructions à l'écran, vous devrez mettre à jour votre PATH.
Une fois pipsi installé, exécutez les commandes suivantes pour installer pipenv :
$ pipsi install pew
$ pipsi install pipenv
Enfin, exécutez la commande suivante :
$ pipenv --updatePour mettre à jour pipenv à tout moment, il suffit d'exécuter :
$ pipsi upgrade pipenv
Gérer les packages Python avec Pipenv
Exécutez 'pipenv' dans votre shell pour afficher la liste des commandes disponibles et des options générales.
$ pipenvLa sortie d'exemple serait :
Installation des paquets
Créez un nouveau projet ou allez dans le répertoire du projet existant.
$ mkdir myproject
$ cd myprojectInstallez les packages pour votre projet :
$ pipenv install requestsLorsque vous ls dans le répertoire de votre projet (c'est-à-dire myproject dans ce cas), vous verrez deux fichiers, à savoir Pipfile et Pipfile.lock. Le Pipfile contient des informations sur le paquet nouvellement installé, telles que son nom, sa version, etc. Vous pouvez utiliser ce Pipfile pour suivre les dépendances dont votre projet a besoin lorsque vous souhaitez réinstaller le projet ou le partager avec d'autres.
$ cat PipfileEt, le Pipfile.lock contient les informations de votre système, toutes les dépendances du paquet installé y compris leur version, et tous les hachages de tous les paquets installés ainsi que de leurs dépendances.
$ cat Pipfile.lockInstallez maintenant un autre paquet et vérifiez à nouveau le contenu des deux fichiers. Vous remarquerez que le Pidfile contient désormais deux paquets. Et, Pidfile.lock contient toutes les dépendances des paquets installés, y compris leurs versions, ainsi que tous les hachages de tous les paquets installés et de leurs dépendances. Pour simplifier, ces deux fichiers seront mis à jour automatiquement chaque fois que vous installerez un nouveau paquet.
As-tu remarqué ? Je n'ai créé aucun environnement virtuel. Pipenv a automatiquement créé un environnement virtuel pour mon projet. Tu te demandes où sont stockés tes projets ? Il suffit d'exécuter cette commande pour connaître l'emplacement de ton environnement virtuel.
$ pipenv --venv
/home/sk/.local/share/virtualenvs/myproject-x7-2XYPNPour voir les détails de la page d'accueil de votre projet, exécutez :
$ pipenv --where
/home/sk/myprojectComme vous pouvez le voir dans les deux sorties, "/home/sk/myproject" est le répertoire principal de mon projet et "/home/sk/.local/share/virtualenvs/myproject-x7-2XYPN" est mon environnement virtuel.
Vous pouvez utiliser « ls » dans votre virtualenv pour vérifier ce qu'il y a dedans.
$ ls /home/sk/.local/share/virtualenvs/myproject-x7-2XYPNMettre à jour les paquets
Pour mettre à jour tous les paquets, exécutez :
$ pipenv updateCette commande désinstallera tous les paquets et réinstallera le(s) paquet(s) aux dernières versions compatibles.
Vérification de l'intégrité d'un paquet
Vous vous demandez s'il existe des vulnérabilités de sécurité dans les packages installés ? Aucun problème ! Pipenv vous couvre. Pour vérifier l'intégrité des packages, il suffit d'exécuter la commande suivante :
$ pipenv check
Checking PEP 508 requirements…
Passed!
Checking installed package safety…
All good!La commande ci-dessus vérifie les vulnérabilités de sécurité et les marqueurs PEP 508 fournis dans le Pipfile.
Voir le graphe de dépendance
Exécutons 'pipenv graph' et voyons ce qui se passe.
$ pipenv graphComme vous pouvez le voir, cette commande affiche le graphe des dépendances.
Désinstaller un paquet
Pour supprimer un paquet, exécutez :
$ pipenv uninstall requests
Un-installing speedtest-cli…
Uninstalling speedtest-cli-1.0.7:
Successfully uninstalled speedtest-cli-1.0.7
Removing speedtest-cli from Pipfile…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
Updated Pipfile.lock (c23e27)!Pour tout désinstaller, exécutez :
$ pipenv uninstall --all
Un-installing all packages from virtualenv…
Found 1 installed package(s), purging…
Environment now purged and fresh!Pour plus de détails, exécutez :
$ pipenv -hOu,
$ pipenv --manD'après mes tests, Pipenv est beaucoup plus facile à utiliser que pip. Comme il est officiellement recommandé par Python.org, vous pouvez désormais vous débarrasser complètement de venv et virtualenv lors de l'installation des paquets Python.
Lecture suggérée :
- Pipx – Installer et exécuter des applications Python dans des environnements isolés
Ressources :
- Page GitHub de Pipenv
- Site web de Pipenv




