📌 Article principal de la série : Python : langage, écosystème et frameworks pour développeurs
Ce tutoriel fait partie de la série Python. Pour la vue d’ensemble complète du langage, consultez l’article principal.
Avant d’écrire la moindre ligne de code Python, il faut disposer d’un environnement de développement fonctionnel et bien configuré. Un environnement mal installé — Python global pollué par des paquets hétéroclites, absence d’environnement virtuel, éditeur sans support de langage — est la première source de frustration des développeurs débutants et l’une des principales causes d’erreurs difficiles à diagnostiquer. Ce tutoriel parcourt l’installation complète sous Linux (Ubuntu/Debian), macOS et Windows, la création d’un environnement virtuel avec venv, et la configuration de VS Code pour le développement Python professionnel.
Prérequis
- Un ordinateur sous Linux (Ubuntu 22.04 / 24.04 LTS ou Debian 12), macOS 13+ ou Windows 10/11
- Accès administrateur ou
sudosur la machine - Connexion Internet pour télécharger Python et les outils
- Niveau : débutant — aucune connaissance Python préalable requise
- Temps estimé : 30 à 45 minutes
Étape 1 — Vérifier si Python est déjà installé
Avant d’installer quoi que ce soit, il est prudent de vérifier si Python est déjà présent sur le système et quelle version est disponible. Sur Linux et macOS, Python 3 est souvent préinstallé par le système d’exploitation, mais il s’agit fréquemment d’une version ancienne réservée aux outils système — il vaut mieux ne pas l’utiliser pour le développement personnel afin d’éviter des conflits avec les paquets système.
Ouvrez un terminal et tapez les commandes suivantes. Sur Windows, ouvrez PowerShell ou l’Invite de commandes :
python3 --version
# ou sur Windows :
python --version
Si Python 3.12 ou 3.13 est affiché, l’interpréteur système est récent. Notez malgré tout que l’installation d’une version dédiée via un gestionnaire de versions reste recommandée pour les projets sérieux, car elle facilite la gestion des versions multiples. Si vous obtenez command not found ou une version 2.x, passez directement à l’étape suivante.
Étape 2 — Installer Python sous Linux (Ubuntu/Debian)
Ubuntu et Debian incluent Python 3 dans leurs dépôts officiels. La méthode la plus simple pour obtenir une version récente et maintenue est d’utiliser apt. Sous Ubuntu 24.04 LTS, Python 3.12 est inclus dans les dépôts par défaut. Pour Python 3.13, il faut ajouter le PPA deadsnakes, qui est le dépôt communautaire maintenu pour les builds Python récents sur Debian/Ubuntu.
# Mise à jour de l'index des paquets
sudo apt update
# Installation de Python 3.13 via le PPA deadsnakes (Ubuntu)
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.13 python3.13-venv python3.13-dev
# Vérification
python3.13 --version
La commande add-apt-repository ajoute le PPA deadsnakes, maintenu par la communauté Ubuntu et largement utilisé dans l’industrie pour obtenir des versions Python récentes. Le paquet python3.13-venv est nécessaire pour créer des environnements virtuels (sans lui, python3.13 -m venv .venv échoue). Le paquet python3.13-dev installe les headers C nécessaires pour compiler certaines bibliothèques Python avec des extensions natives (comme psycopg2 pour PostgreSQL). La commande de vérification doit afficher Python 3.13.x — si elle affiche une erreur, vérifiez que le PPA a bien été ajouté avant apt update.
Étape 3 — Installer Python sous macOS
Sur macOS, la méthode recommandée est d’utiliser Homebrew, le gestionnaire de paquets le plus populaire pour macOS. Si Homebrew n’est pas encore installé, rendez-vous sur brew.sh pour la commande d’installation officielle — elle demande les Xcode Command Line Tools et prend quelques minutes.
# Installation via Homebrew
brew install python@3.13
# Ajout de Python 3.13 au PATH (si Homebrew ne le fait pas automatiquement)
# python@3.13 est keg-only ; on ajoute son dossier bin au PATH
echo 'export PATH="/opt/homebrew/opt/python@3.13/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
# Vérification
python3.13 --version
pip3.13 --version
Homebrew installe Python dans /opt/homebrew/ sur les Mac Apple Silicon (M1/M2/M3) ou dans /usr/local/ sur les Mac Intel. Le echo qui modifie ~/.zshrc s’assure que la version Homebrew est prioritaire sur le Python système d’Apple. source ~/.zshrc recharge le profil sans avoir à ouvrir un nouveau terminal. Si python3.13 --version affiche la bonne version mais pip3.13 --version échoue, vérifiez que pip est bien inclus dans l’installation Homebrew en relançant brew reinstall python@3.13.
Étape 4 — Installer Python sous Windows
Sur Windows, l’installateur officiel de python.org est la méthode la plus directe. Rendez-vous sur python.org/downloads/windows et téléchargez l’installateur Windows 64-bit pour Python 3.13.x. Une option importante à ne pas manquer pendant l’installation :
[ ] Install launcher for all users (recommended)
[✓] Add Python 3.13 to PATH ← Cocher impérativement cette case
Cocher « Add Python 3.13 to PATH » permet d’utiliser python et pip directement dans PowerShell et l’Invite de commandes sans modifier manuellement les variables d’environnement. Après l’installation, ouvrez un nouveau PowerShell (important : fermer et rouvrir pour que le PATH soit rechargé) et vérifiez :
python --version
pip --version
Si les deux commandes renvoient des numéros de version Python 3.13.x, l’installation est réussie. Si python n’est pas reconnu malgré la case cochée, c’est souvent que le terminal ouvert avant l’installation n’a pas rechargé le PATH — fermez-le entièrement et ouvrez-en un nouveau. Pour Windows, le Windows Subsystem for Linux (WSL 2) avec Ubuntu est une alternative très appréciée des développeurs Python pour bénéficier d’un environnement Linux natif sous Windows.
Étape 5 — Créer et activer un environnement virtuel
Un environnement virtuel est un répertoire isolé contenant son propre interpréteur Python et ses propres bibliothèques. Il évite les conflits entre les dépendances de projets différents sur la même machine. Le module venv est intégré à Python depuis la version 3.3 — aucune installation supplémentaire n’est nécessaire.
Créez un dossier de projet, puis initialisez l’environnement virtuel :
# Créer un dossier de projet
mkdir mon-projet-python
cd mon-projet-python
# Créer l'environnement virtuel dans le sous-dossier .venv
python3.13 -m venv .venv
# Activer l'environnement virtuel
# Sur Linux / macOS :
source .venv/bin/activate
# Sur Windows (PowerShell) :
.venv\Scripts\Activate.ps1
# Sur Windows (cmd.exe) :
.venv\Scripts\activate.bat
La commande python3.13 -m venv .venv crée le répertoire .venv/ dans votre dossier de projet, avec un interpréteur Python isolé et une copie de pip. La convention .venv (avec le point) est préférable à venv sans point car elle masque le dossier dans les systèmes Unix et signale clairement qu’il s’agit d’un fichier de configuration, pas de code source. Après l’activation, le prompt de votre terminal changera pour afficher (.venv) en préfixe — signal que toutes les commandes pip install iront dans cet environnement isolé, pas dans Python global. Pour désactiver l’environnement, tapez simplement deactivate.
Étape 6 — Configurer .gitignore pour le projet
Avant d’initialiser le dépôt Git, il est essentiel d’ignorer les fichiers qui ne doivent jamais être versionnés : l’environnement virtuel, les caches Python, les fichiers de configuration locale. Versionner le dossier .venv ferait exploser la taille du dépôt et poserait des problèmes de compatibilité sur les machines des autres développeurs (les chemins absolus sont encodés dans l’environnement virtuel).
# Initialiser git (si ce n'est pas encore fait)
git init
# Créer le .gitignore
cat > .gitignore << 'EOF'
# Environnement virtuel
.venv/
venv/
env/
# Caches Python
__pycache__/
*.py[cod]
*.pyo
*.pyd
.Python
# Distribution / packaging
dist/
build/
*.egg-info/
# Tests
.pytest_cache/
.coverage
htmlcov/
# IDE
.vscode/settings.json
.idea/
*.swp
# Variables d'environnement locales
.env
.env.local
EOF
git add .gitignore
git commit -m "init: projet Python avec .gitignore"
Ce .gitignore couvre les cas d'usage courants d'un projet Python. Le heredoc << 'EOF' (notez les guillemets autour de EOF) crée le fichier avec le contenu multiligne sans interpolation de variables shell. Notez que le fichier .env est ignoré — il contiendra plus tard les variables d'environnement sensibles (clés d'API, mots de passe) qui ne doivent jamais apparaître dans Git. Le template .gitignore complet pour Python est disponible sur github/gitignore.
Étape 7 — Installer et utiliser pip dans l'environnement virtuel
Avec l'environnement virtuel activé, pip pointe vers la version isolée au projet. L'installation de bibliothèques ne modifie plus Python global. Voici les commandes pip essentielles au quotidien :
# Mettre à jour pip lui-même (bonne pratique en début de projet)
pip install --upgrade pip
# Installer une bibliothèque
pip install requests
# Installer une version spécifique
pip install django==5.1.4
# Installer plusieurs bibliothèques depuis un fichier
pip install -r requirements.txt
# Geler les dépendances actuelles (pour les partager / déployer)
pip freeze > requirements.txt
# Lister les paquets installés
pip list
# Voir les infos d'un paquet installé
pip show requests
# Désinstaller un paquet
pip uninstall requests
La commande pip freeze > requirements.txt capture l'état exact de l'environnement avec les versions épinglées. Ce fichier doit être versionné avec le code source pour que n'importe quel développeur (ou serveur CI/CD) puisse recréer exactement le même environnement avec pip install -r requirements.txt. Attention : pip freeze inclut toutes les dépendances transitives — pour les projets à long terme, pip-tools (commande pip-compile) ou Poetry/uv permettent de gérer séparément les dépendances directes et transitives, ce qui facilite les mises à jour.
Étape 8 — Configurer VS Code pour Python
Visual Studio Code (VS Code) est l'éditeur le plus utilisé pour Python en 2024. Il est gratuit, multiplateforme et dispose d'un excellent support Python via les extensions officielles de Microsoft. Après avoir installé VS Code depuis code.visualstudio.com, installez les extensions suivantes :
# Depuis le terminal, dans le dossier du projet
code . # Ouvre VS Code dans le répertoire courant
Dans VS Code, allez dans l'onglet Extensions (Ctrl+Shift+X) et installez :
- Python (Microsoft, identifiant
ms-python.python) — support Python de base, débogueur intégré - Pylance (Microsoft, identifiant
ms-python.vscode-pylance) — serveur de langage rapide basé sur Pyright, autocomplétion intelligente, vérification de types - Ruff (Astral Software, identifiant
charliermarsh.ruff) — linter et formateur ultra-rapide, remplace Flake8, isort et Black en un seul outil
Après l'installation des extensions, sélectionnez l'interpréteur Python de votre environnement virtuel : appuyez sur Ctrl+Shift+P (ou Cmd+Shift+P sur macOS), tapez "Python: Select Interpreter", et choisissez l'entrée qui pointe vers .venv/bin/python (Linux/macOS) ou .venv\Scripts\python.exe (Windows). VS Code utilisera cet interpréteur pour l'autocomplétion, l'analyse de types et les tests. Un fichier .vscode/settings.json minimal pour un projet Python professionnel :
{
"python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python",
"editor.formatOnSave": true,
"[python]": {
"editor.defaultFormatter": "charliermarsh.ruff",
"editor.codeActionsOnSave": {
"source.fixAll.ruff": "explicit",
"source.organizeImports.ruff": "explicit"
}
},
"python.analysis.typeCheckingMode": "basic"
}
Ce fichier de configuration active le formatage automatique à la sauvegarde avec Ruff, l'organisation automatique des imports, et la vérification de types basique via Pylance. La clé python.defaultInterpreterPath pointe vers l'environnement virtuel du projet — VS Code chargera automatiquement le bon interpréteur à l'ouverture du projet. Si vous travaillez en équipe, versionnez .vscode/settings.json (sans les paramètres personnels comme le thème ou les raccourcis) pour que tous les développeurs partagent la même configuration d'outillage.
Étape 9 — Vérification finale : premier script Python
Pour confirmer que tout fonctionne correctement, créez un premier script Python qui utilise une bibliothèque installée via pip. Ce test valide simultanément que l'interpréteur est opérationnel, que l'environnement virtuel est actif, et que pip installe correctement.
# S'assurer que l'environnement virtuel est actif
# Le prompt doit afficher (.venv)
# Installer la bibliothèque requests
pip install requests
# Créer le fichier de test
cat > test_install.py << 'EOF'
import sys
import requests
print(f"Python version : {sys.version}")
print(f"requests version : {requests.__version__}")
# Test d'un appel HTTP simple
response = requests.get("https://httpbin.org/get", timeout=5)
print(f"Statut HTTP : {response.status_code}")
if response.status_code == 200:
data = response.json()
print(f"Origine IP : {data.get('origin', 'inconnue')}")
print("✓ Installation Python complète et fonctionnelle !")
else:
print("⚠ Requête HTTP échouée — vérifiez la connexion réseau.")
EOF
# Exécuter le script
python test_install.py
Ce script effectue trois vérifications en cascade : il affiche la version Python active (qui doit être 3.13.x), la version de requests installée dans le venv, et effectue un appel HTTP réel vers httpbin.org — un service de test HTTP public. La sortie attendue ressemble à :
Python version : 3.13.2 (main, ...) [GCC ...]
requests version : 2.32.3
Statut HTTP : 200
Origine IP : 41.82.xxx.xxx
✓ Installation Python complète et fonctionnelle !
Si la version Python affichée n'est pas 3.13.x mais une version système plus ancienne, l'environnement virtuel n'est probablement pas activé — relancez source .venv/bin/activate. Si requests n'est pas trouvé (ModuleNotFoundError), vérifiez que pip install requests a été lancé avec le venv actif. Si le statut HTTP n'est pas 200, vérifiez la connectivité réseau ou utilisez un autre endpoint de test.
Erreurs fréquentes
| Erreur | Cause probable | Solution |
|---|---|---|
python3.13: command not found |
Python non installé ou non dans le PATH | Vérifier l'installation et relancer le terminal |
ModuleNotFoundError: No module named 'venv' |
Paquet python3.13-venv manquant (Linux) |
sudo apt install python3.13-venv |
pip install modifie Python global malgré le venv |
Venv non activé (prompt sans (.venv)) |
Relancer source .venv/bin/activate |
| VS Code utilise le mauvais interpréteur Python | Sélection de l'interpréteur non faite | Ctrl+Shift+P → "Python: Select Interpreter" |
Activate.ps1 ne peut pas être chargé (Windows) |
Politique d'exécution PowerShell restrictive | Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser |
Tutoriels frères
- Créer une API REST avec Flask : tutoriel pas à pas — Construire une API fonctionnelle avec Flask 3.1 en partant de l'environnement configuré dans ce tutoriel
Pour aller plus loin
- 🔝 Retour à l'article principal : Python : langage, écosystème et frameworks pour développeurs
- Documentation officielle venv — Python 3
- Guide d'installation officiel Python
- Documentation officielle pip
- uv — gestionnaire de paquets Python ultra-rapide (Astral)
FAQ
- Peut-on avoir plusieurs versions de Python sur la même machine ?
- Oui, et c'est même recommandé pour les développeurs qui maintiennent des projets sur différentes versions. Sur Linux, les versions coexistent via leurs noms complets (
python3.11,python3.13). pyenv est l'outil standard pour gérer plusieurs versions Python sur macOS et Linux avec une bascule par répertoire via un fichier.python-version. - venv ou virtualenv ou conda : quelle différence ?
venvest intégré à Python depuis 3.3 et suffit pour la majorité des projets.virtualenvest un outil tiers plus ancien et plus riche en options (installation de versions Python spécifiques). Conda est une solution tout-en-un (Python + paquets non-Python + environnements) populaire dans la data science, mais plus lourde et moins adaptée aux projets web classiques.- Faut-il versionner requirements.txt ou pyproject.toml ?
- Oui, le fichier de dépendances doit impérativement être versionné.
requirements.txtgénéré parpip freezeépingle toutes les versions transitives — simple et largement compatible.pyproject.tomlavec Poetry ou uv est plus expressif (dépendances de développement séparées, résolution déterministe). Pour un nouveau projet, pyproject.toml avec uv est aujourd'hui le choix moderne recommandé.