Skip to main content
Le fichier requirements.txt est le standard de l’industrie pour spécifier et gérer les dépendances dans les projets Python. Ce guide montre comment créer, configurer et utiliser requirements.txt pour garantir la cohérence entre les environnements de développement et de production.

Qu’est-ce qu’un fichier requirements.txt ?

Un fichier requirements.txt liste tous les paquets Python externes dont votre projet a besoin, avec leurs versions spécifiques. Cela permet :
  • À vous et à votre équipe de maintenir des environnements identiques
  • Aux nouveaux collaborateurs de reproduire l’environnement à l’identique
  • Au deploy sur Square Cloud de fonctionner avec les bonnes dépendances

1

Créer et activer un environnement virtuel

Travailler à l’intérieur d’un environnement virtuel est essentiel pour garder les dépendances de votre projet isolées du système Python global. Cela évite les conflits de versions et garantit la reproductibilité.Créez l’environnement virtuel à la racine de votre projet (utilisez python3 si python est introuvable sur macOS/Linux) :
Activez-le avec l’une des commandes ci-dessous, selon votre système :Windows :
macOS/Linux :
Installez ensuite les paquets utilisés par votre projet, par exemple :
2

Lister les dépendances du projet

Spécifiez toujours des versions exactes avec == pour garantir la reproductibilité et éviter les ruptures dues à des mises à jour incompatibles en production.

Option A : Générer avec pip freeze (Recommandé)

Avec l’environnement virtuel activé, écrivez dans le fichier chaque paquet installé avec sa version exacte :
Dans un environnement virtuel, pip freeze ne liste que les paquets qui y sont installés (vos dépendances et leurs sous-dépendances), déjà figés avec ==.
En dehors d’un environnement virtuel, pip freeze liste tous les paquets installés sur votre système. Révisez le fichier et supprimez ce que votre projet n’utilise pas.

Option B : Créer manuellement

Créez un fichier requirements.txt à la racine de votre projet et listez les paquets utilisés par votre projet, avec leurs versions :
requirements.txt
3

Réviser et valider les dépendances

Ouvrez le fichier requirements.txt dans votre éditeur de texte et :
  1. Révisez la liste des paquets
  2. Supprimez les dépendances inutiles
  3. Mettez à jour les versions au besoin
  4. Assurez-vous d’utiliser des versions exactes (avec ==)
4

Installer les dépendances

Pour installer toutes les dépendances listées :
Cette commande garantit que tous les collaborateurs et les environnements de production utilisent exactement les mêmes versions.
5

Versionner et partager

Une fois requirements.txt prêt, vous pouvez :
  • Le partager avec votre équipe
  • Le placer sous contrôle de version (git)
  • Garantir que tout le monde travaille avec les mêmes versions
  • Simplifier le déploiement sur Square Cloud
Lorsque vous hébergez votre projet sur Square Cloud, le fichier requirements.txt est automatiquement détecté et ses dépendances sont installées avec pip install -r requirements.txt avant le démarrage de votre application.

Bonnes pratiques et conseils

  • Restez à jour : Révisez et mettez à jour requirements.txt régulièrement à mesure que vous ajoutez de nouvelles dépendances
  • Utilisez des versions exactes : Utilisez toujours == au lieu de >, >= ou aucune version pour éviter les surprises en production
  • Révisez pip freeze : Si vous utilisez pip freeze, révisez le fichier avant de le committer, car il peut inclure des paquets auxiliaires inutiles
  • Gestion de versions : Committez requirements.txt dans git pour suivre les changements de dépendances
  • Environnement isolé : Maintenez un environnement virtuel par projet pour éviter les conflits globaux
  • Testez localement : Avant de déployer, testez le fichier avec pip install -r requirements.txt dans un nouvel environnement

Prochaines étapes

Une fois votre fichier requirements.txt configuré :
  1. Committez-le dans votre dépôt Git.
  2. Hébergez votre projet avec le guide du runtime Python, ou suivez un guide de framework : Django, Flask ou FastAPI.
  3. Déployez automatiquement depuis GitHub à chaque push.