Passer au contenu principal

📋 Fichier requirements.txt pour Python

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

Activer l'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é.Activez votre environnement virtuel avec l’une des commandes ci-dessous, selon votre système :Windows :
venv\Scripts\activate
macOS/Linux :
source venv/bin/activate
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 : Créer manuellement (Recommandé)

Créez un fichier requirements.txt à la racine de votre projet et listez tous les paquets externes avec leurs versions :
requirements.txt
discord.py==2.3.0
requests==2.31.0
python-dotenv==1.0.0

Option B : Générer automatiquement avec pip freeze

Après avoir installé les dépendances dans votre environnement virtuel, vous pouvez générer le fichier automatiquement. Il existe deux méthodes principales :Option B1 : Utiliser pip freeze (inclut tout)
pip freeze > requirements.txt
Attention : pip freeze inclut tous les paquets installés globalement, ce qui peut comprendre des paquets inutiles pour votre projet. Révisez le fichier après génération et supprimez les dépendances qui ne sont pas strictement nécessaires.
Option B2 : Utiliser pipdeptree ou pip freeze avec filtrage (Recommandé)Pour capturer UNIQUEMENT les dépendances de votre projet (sans les paquets auxiliaires de l’environnement), utilisez :
pip freeze --user > requirements.txt
Ou, pour une solution plus propre, installez pipdeptree :
pip install pipdeptree
pipdeptree -p your_project > requirements.txt
Alternative : Utilisez une vérification manuelle de la liste ou vérifiez quel paquet a été installé spécifiquement pour votre projet :
pip list | grep -i "your-package"
Si vous travaillez dans un environnement virtuel (recommandé), pip freeze fonctionnera parfaitement puisque l’environnement sera isolé et ne contiendra que les dépendances de votre projet.
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 :
pip install -r requirements.txt
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 toutes les dépendances sont installées pendant le build.

💡 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 sur Square Cloud.
  3. Configurez le deploy automatique via GitHub.
  4. Bienvenue dans l’hébergement professionnel d’applications Python !
Un fichier requirements.txt bien structuré est la base de toute application Python réussie, garantissant que votre application fonctionne parfaitement sur Square Cloud.