Après une mise à niveau vers Windows 11, l’erreur “Python was not found” peut persister malgré une installation réussie. Voici les causes les plus courantes (PATH, alias Microsoft Store, conflits de versions) et une procédure fiable, étape par étape, pour rétablir python et py dans le terminal.
Vue d’ensemble de la question
Symptôme typique : en ouvrant PowerShell ou CMD et en saisissant python, Windows affiche :
Python was not found; run without arguments to install from the Microsoft Store
Le message continue d’apparaître alors même que vous avez installé Python via le Microsoft Store. L’objectif de ce guide est d’expliquer l’origine de ce comportement et de proposer une méthode de correction claire et reproductible pour Windows 11.
Pourquoi cette erreur survient
- Alias du Microsoft Store : Windows 11 fournit des “App execution aliases” (
python.exe,python3.exe) dansWindowsApps. Ces alias interceptent la commandepythonet redirigent vers le Store si aucune exécutable prioritaire n’est trouvé dans le Path. - Installation Microsoft Store en bac à sable : la version Store n’ajoute pas toujours correctement le répertoire Python au Path, d’où une résolution erronée vers l’alias Store.
- Conflit ou doublon dans Path : des entrées anciennes (versions x86/x64, outils tiers) ou mal ordonnées font passer un mauvais binaire avant le bon.
- Absence du lanceur Windows (
py.exe) : sans le lanceur (ou s’il n’est pas dans le Path),py -Véchoue et vous perdez un outil précieux de sélection/versionnement. - Session non rafraîchie : après modification des variables d’environnement, Windows n’applique pas toujours les changements à la session courante (PowerShell, CMD, Explorateur).
Réponse & solutions proposées
| Étape | Action recommandée | Détails utiles |
|---|---|---|
| 1 | Désinstaller proprement toutes les versions de Python | Utiliser Paramètres › Applications › Applications installées ou Programmes et fonctionnalités pour supprimer : • Python installé via Microsoft Store • Toute ancienne version listée (x86/x64) |
| 2 | Télécharger l’installeur officiel | Depuis le site officiel de Python (section « Downloads »), choisissez l’exécutable Windows approprié (généralement Windows installer (64‑bit)). |
| 3 | Installer en cochant « Add python.exe to PATH » | Cette case ajoute automatiquement le répertoire de Python à la variable d’environnement Path et installe le lanceur py.exe. |
| 4 | Vérifier (et corriger) la variable Path si nécessaire | Chemin attendu, par ex. :C:\Users\<Nom>\AppData\Local\Programs\Python\Python3X\Contrôler via Paramètres › Système › Informations système › Paramètres avancés › Variables d’environnement. |
| 5 | Redémarrer la session (voire le PC) | Windows 11 ne recharge pas toujours les variables d’environnement immédiatement. |
| 6 | Tester depuis PowerShell ou CMD | • python --version ou py -V doit retourner la version installée.• where python (CMD) / Get-Command python (PowerShell) vérifie le chemin résolu. |
| 7 (optionnel) | Désactiver les alias du Microsoft Store | Paramètres › Applications › Paramètres des applications avancés › Alias d’exécution des applications : désactivez python.exe et python3.exe pour éviter la redirection vers le Store. |
Points clés
- La version Microsoft Store s’exécute en bac à sable et ne met pas toujours à jour le Path, d’où l’erreur persistante.
- Un mauvais ordre ou un doublon dans Path peut faire prévaloir une ancienne entrée ou un alias Store : placez le chemin de la nouvelle installation avant tout autre chemin Python.
- L’option Repair de l’installeur officiel suffit parfois à réécrire les entrées du registre et du Path sans désinstallation complète.
Explications détaillées et bonnes pratiques
Désinstaller proprement toutes les versions
Avant de réinstaller, nettoyez l’existant. Supprimez toute entrée “Python” dans Paramètres > Applications. Vérifiez aussi les outils qui installent leur propre Python (certains IDE ou gestionnaires de paquets) et qui peuvent ajouter des dossiers au Path. Une fois terminé, redémarrez la session.
Choisir la bonne édition et l’architecture
- Préférez 64‑bit sur Windows 11 64‑bit.
- Évitez d’installer simultanément une version Store et une version “classique” (python.org / winget). Choisissez une approche et tenez‑vous‑y.
- Si vous avez des besoins spécifiques (scientifique, IA), envisagez une distribution comme Anaconda/Miniconda ou l’utilisation d’environnements virtuels (
venv).
Options d’installation essentielles
- Add python.exe to PATH : cochez-la impérativement pour éviter d’éditer le Path à la main.
- Install launcher for all users (recommandé) : installe
py.exedansC:\Windows\afin quepysoit disponible pour tous les comptes. - Associate files with Python : optionnelle (associations
.py,.pyw).
Comprendre et corriger la variable Path
Path dicte l’ordre de recherche des exécutables. Windows s’arrête au premier python.exe trouvé. Les répertoires suivants sont fréquemment impliqués :
| Répertoire | Rôle | Commentaire |
|---|---|---|
C:\Users\%USERNAME%\AppData\Local\Programs\Python\Python3X\ | Python “classique” (utilisateur) | Cible attendue pour python.exe |
C:\Users\%USERNAME%\AppData\Local\Programs\Python\Python3X\Scripts\ | Scripts et pip | Indispensable pour exécuter pip en direct |
C:\Windows\ | Lanceur py.exe | Permet py -V, py -m pip, etc. |
C:\Users\%USERNAME%\AppData\Local\Microsoft\WindowsApps | Alias Store | Peut intercepter python si présent avant Python réel |
Vérifiez l’ordre dans Variables d’environnement. Placez le dossier de votre Python “réel” avant WindowsApps ou désactivez les alias (voir plus bas). Évitez les entrées redondantes ou obsolètes. Après modification, déconnectez/reconnectez votre session (ou redémarrez).
Tester correctement après installation
Dans CMD :
where python
python --version
where py
py -V
Dans PowerShell :
Get-Command python
python --version
Get-Command py
py -V
Attendus : python --version retourne la version installée (ex. Python 3.12.x) et where python pointe vers votre dossier Python3X, pas vers WindowsApps.
Désactiver les alias du Microsoft Store
Sur certaines éditions de Windows 11, les alias se trouvent dans Paramètres > Applications > Paramètres des applications avancés > Alias d’exécution des applications (libellé parfois “App execution aliases”). Désactivez python.exe et python3.exe. Cela empêche l’interception de la commande python par le Store.
Utiliser winget en alternative fiable
winget installe l’édition officielle et gère les mises à jour automatiques :
winget install Python.Python.3
Après installation, vérifiez :
py -0p # liste des versions Python détectées et leurs chemins
Cas fréquents et correctifs ciblés
| Symptôme | Cause probable | Correctif recommandé |
|---|---|---|
python ouvre le Microsoft Store | Alias Store actif et prioritaire dans Path | Désactiver l’alias dans les paramètres OU placer le dossier Python avant WindowsApps |
python introuvable mais py -V fonctionne | py.exe présent, mais python.exe hors Path | Réexécuter l’installeur “Repair” ou ajouter manuellement le dossier Python au Path |
pip non reconnu | Dossier Scripts manquant dans Path | Ajouter ...\Python3X\Scripts\ au Path OU utiliser py -m pip |
| Plusieurs versions Python, comportement aléatoire | Doublons/ordre Path et PATHEXT | Nettoyer Path, garder une version “globale” et le reste en environnements virtuels |
| Après “Repair”, rien ne change | Session non rafraîchie ou GPO restreignante | Redémarrer, tester dans une nouvelle session admin, vérifier les stratégies d’entreprise |
Bonnes pratiques pour un Python sain sous Windows 11
- Utilisez des environnements virtuels (
python -m venv .venv,.venv\Scripts\Activate.ps1) pour isoler les dépendances par projet. - Privilégiez
py -m pip install ...plutôt quepiptout court, afin de cibler précisément l’interpréteur. - Évitez les installations multiples globales : une seule installation “système/utilisateur” + des
venvsuffit dans la majorité des cas. - Besoin de plusieurs versions ? Envisagez pyenv‑win ou un gestionnaire comme conda plutôt que d’empiler les Pythons “globaux”.
- Pour exécuter des scripts sans extension
.py, assurez‑vous que le lanceurpy.exeest installé. Les shebangs (#!/usr/bin/env python) sont pris en charge.
Annexe : commandes utiles
Inspection du Path dans PowerShell
$env:Path -split ';' | ForEach-Object { $_.Trim() } | Where-Object { $_ }
Récupérer/ajouter un chemin de façon persistante (PowerShell)
# Afficher Path utilisateur et machine
[Environment]::GetEnvironmentVariable("Path","User")
[Environment]::GetEnvironmentVariable("Path","Machine")
# Ajouter le dossier Python (exemple) au Path utilisateur
$toAdd = "C:\Users<Nom>\AppData\Local\Programs\Python\Python312"
$curr = [Environment]::GetEnvironmentVariable("Path","User")
if( -not ($curr -split ';' | ForEach-Object Trim | Where-Object { $_ -eq $toAdd }) ){
[Environment]::SetEnvironmentVariable("Path", ($curr + ";" + $toAdd), "User")
}
Astuce : setx existe mais peut tronquer/écraser des segments de Path ; préférez l’API .NET ci‑dessus ou l’interface graphique.
Vérifier quel Python est utilisé
where python # CMD
Get-Command python # PowerShell
py -0p # Liste toutes les versions gérées par le lanceur
FAQ
Quelle différence entre python.exe et py.exe ?
python.exe est l’interpréteur lui‑même. py.exe est le lanceur Windows : il détecte et sélectionne la version appropriée (ex. py -3.12). Même si python n’est pas dans le Path, py peut fonctionner s’il est installé dans C:\Windows\.
Où se trouve Python après une installation utilisateur ?
Par défaut : C:\Users\<Nom>\AppData\Local\Programs\Python\Python3X\ et les scripts dans ...\Scripts\.
Dois‑je installer la version Microsoft Store ?
Elle convient pour un usage basique, mais son isolement et les alias peuvent prêter à confusion. Pour un usage de développement, l’installeur “classique” (ou winget) est généralement plus prévisible.
Comment réparer sans tout désinstaller ?
Réexécutez l’installeur officiel correspondant et choisissez Repair. Cela réécrit le Path et les clés de registre, et installe/valide py.exe.
Pourquoi pip semble installer au “mauvais endroit” ?
Parce que pip appelle le premier Python résolu. Utilisez py -m pip ou python -m pip depuis une session où python pointe déjà vers la bonne installation.
Procédure complète pas à pas (récapitulatif)
- Désinstallez toutes les entrées Python (Store et non‑Store).
- Redémarrez la session Windows.
- Installez depuis l’installeur officiel en cochant Add python.exe to PATH et Install launcher.
- Vérifiez/ajustez le Path (dossier Python et
ScriptsavantWindowsApps). - (Optionnel) Désactivez les alias python.exe/python3.exe dans les paramètres Windows.
- Ouvrez un nouveau PowerShell :
python --version,py -V,py -0p.
Conclusion
Sur Windows 11, le message “Python was not found” après mise à niveau provient le plus souvent d’un Path mal ordonné ou des alias du Microsoft Store. En privilégiant l’installeur officiel (ou winget), en activant Add to PATH, en désactivant les alias si besoin, et en validant avec where python / py -0p, vous rétablissez un environnement Python propre, stable et prêt pour vos projets.
Informations complémentaires utiles
- Winget :
winget install Python.Python.3installe la version officielle et facilite les mises à jour. - Gestion multi‑versions : pour coexister proprement, utilisez pyenv‑win ou conda plutôt que plusieurs installations “globales”.
- Scripts sans
.py: avecpy.exedans le Path et un shebang (#!/usr/bin/env python), vous pouvez lancer un script directement depuis PowerShell/CMD.

