Section 11.2.6 : Python — Bibliothèques et pip
🎯 Objectif pédagogique
Comprendre l'écosystème des bibliothèques Python, maîtriser pip pour installer et gérer les dépendances, et utiliser des environnements virtuels. Vous serez capable de configurer un projet Python professionnel avec ses dépendances.
L'écosystème Python — 500 000+ bibliothèques
Marc avait cette question : pourquoi Python est-il LE langage de la data, de l'IA et du web ? Pas parce que sa syntaxe est plus rapide (C++ l'est), mais parce que son écosystème de bibliothèques est inégalé. Chaque problème a déjà une solution empaquetée, testée, et documentée.
pip — Le gestionnaire de paquets
# Installer une bibliothèque
pip install pandas
# Installer une version spécifique
pip install pandas==2.2.0
# Installer plusieurs d'un coup
pip install numpy pandas matplotlib seaborn
# Mettre à jour
pip install --upgrade pandas
# Désinstaller
pip uninstall pandas
# Voir ce qui est installé
pip list
# Exporter les dépendances
pip freeze > requirements.txt
# Installer depuis un fichier
pip install -r requirements.txt
Environnements virtuels — Isoler les projets
Imaginez 2 projets : l'un utilise pandas 1.5, l'autre pandas 2.2. Sans environnement virtuel, c'est le conflit. Avec, chaque projet a ses propres versions.
# Créer un environnement virtuel
python -m venv .venv
# Activer (Windows)
.venv\Scripts\activate
# Activer (macOS/Linux)
source .venv/bin/activate
# Vous voyez (.venv) dans le prompt → vous êtes dans l'env
# Installer les dépendances (dans l'env isolé)
pip install pandas numpy matplotlib
# Sauvegarder les dépendances
pip freeze > requirements.txt
# Désactiver
deactivate
Les bibliothèques essentielles pour la data
| Bibliothèque | Usage | Ligne import |
|---|---|---|
| pandas | DataFrames, manipulation de données | import pandas as pd |
| numpy | Calcul numérique, tableaux | import numpy as np |
| matplotlib | Graphiques de base | import matplotlib.pyplot as plt |
| seaborn | Graphiques statistiques élégants | import seaborn as sns |
| requests | Appels HTTP/API | import requests |
| scikit-learn | Machine Learning | from sklearn import ... |
| beautifulsoup4 | Web scraping (HTML) | from bs4 import BeautifulSoup |
| openpyxl | Lecture/écriture Excel | import openpyxl |
| python-dotenv | Variables d'environnement | from dotenv import load_dotenv |
| psycopg2 | PostgreSQL depuis Python | import psycopg2 |
Le fichier requirements.txt
# requirements.txt — Job Tracker Data Project
pandas==2.2.3
numpy==2.1.0
matplotlib==3.9.2
seaborn==0.13.2
psycopg2-binary==2.9.9
python-dotenv==1.0.1
requests==2.32.3
beautifulsoup4==4.12.3
openpyxl==3.1.5
Le réflexe professionnel
À chaque nouveau projet Python :
- →
python -m venv .venv→ environnement isolé - →
.venv/Scripts/activate→ activer - →
pip install ...→ installer les dépendances - →
pip freeze > requirements.txt→ sauvegarder
Ajoutez .venv/ dans .gitignore — ne commitez jamais l'environnement virtuel.
🏋️ Exercice pratique (15 minutes)
- →Créez un dossier
job-tracker-data/ - →Créez un environnement virtuel
- →Installez pandas, numpy, matplotlib, requests
- →Générez le
requirements.txt - →Testez un import :
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
print(f"pandas \{pd.__version__\}")
print(f"numpy \{np.__version__\}")
print("✅ Environnement configuré !")
Pourquoi utiliser un environnement virtuel Python ?
Que fait 'pip freeze > requirements.txt' ?