Dans ce tutoriel nous allons voir comment figer les dépendances des packages pip pour notre projet python (Django).
Les pré-requis
- Un poste de développement (ou un serveur) avec python et pip installé
- Un projet python3 opérationnel sur le poste pour le tutoriel nous utiliserons le projet suivant : https://gitlab.com/julienanne/django-deploy-production-example
Figeons les versions des packages pip utilisés
Pour cela rendez-vous via le terminal dans le dossier de votre projet (avec votre environnement activé si vous utilisez virtualenv).
Maintenant nous allons demander à pip de nous afficher la version des différents packages utilisés avec la commande suivante.
pip freeze
La sortie sur votre terminal devrez ressemblez à quelque chose comme cela pour un projet Django sans ajout de dépendances supplémentaires.
asgiref==3.2.7 Django==3.0.6 pytz==2020.1 sqlparse==0.3.1
Nous allons donc maintenant sauvegarder ce résultat dans un fichier communément appelé requirements.txt avec la commande suivante.
pip freeze > requirements.txt
Pensez bien à faire évoluer ce fichier au fur et à mesure de l’ajout de dépendances dans votre projet en exécutant la même commande.
Installons les versions des packages précédemment figés
Vous pouvez installer les dépendances de packages pip dans un nouvel environnement que ce soit sur un serveur ou sur le poste d’un collègue via la commande suivante.
pip install -r requirements.txt
Ensuite vous pourrez vérifier l’ajout des dépendances avec la commande suivante.
pip list
Ok donc à ce moment là nous avons un projet qui tourne avec une liste de dépendances figées afin de pouvoir installer de nouveau le projet dans un autre environnement. Passons à la suite. Rendez-vous sur le sommaire du tutoriel pour continuer votre lecture.
Tutoriel Django MySql Debian 10 Apache2 Let’s Encrypt Gitlab – Actus Julien ANNE
[…] Figer les dépendances (packages pip) de notre projet python Django pour les installer sur notre serveur de production […]
Ubuntu 20.04, python3 et virtualenv installation et erreurs potentielles – Julien ANNE
[…] Virtualenv est un utilitaire permettant d’isoler vos projets python3 les uns des autres. Le but est d’activer un environnement virtuel différent pour chacun de vos projets afin d’y installer vos dépendances nécessaires (par exemple Django si vous faites un projet Django). Les dépendances sont comme vous le savez peut être installé par pip, le gestionnaire de dépendances Pyhton. […]