Corriger « Python not found » sur Windows 11 : PATH, Microsoft Store, alias et lanceur py.exe

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.

Sommaire

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) dans WindowsApps. Ces alias interceptent la commande python et 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

ÉtapeAction recommandéeDétails utiles
1Désinstaller proprement toutes les versions de PythonUtiliser 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)
2Télécharger l’installeur officielDepuis le site officiel de Python (section « Downloads »), choisissez l’exécutable Windows approprié (généralement Windows installer (64‑bit)).
3Installer 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.
4Vérifier (et corriger) la variable Path si nécessaireChemin 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.
5Redémarrer la session (voire le PC)Windows 11 ne recharge pas toujours les variables d’environnement immédiatement.
6Tester depuis PowerShell ou CMDpython --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 StoreParamè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.exe dans C:\Windows\ afin que py soit 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épertoireRôleCommentaire
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 pipIndispensable pour exécuter pip en direct
C:\Windows\Lanceur py.exePermet py -V, py -m pip, etc.
C:\Users\%USERNAME%\AppData\Local\Microsoft\WindowsAppsAlias StorePeut 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ômeCause probableCorrectif recommandé
python ouvre le Microsoft StoreAlias Store actif et prioritaire dans PathDésactiver l’alias dans les paramètres OU placer le dossier Python avant WindowsApps
python introuvable mais py -V fonctionnepy.exe présent, mais python.exe hors PathRéexécuter l’installeur “Repair” ou ajouter manuellement le dossier Python au Path
pip non reconnuDossier Scripts manquant dans PathAjouter ...\Python3X\Scripts\ au Path OU utiliser py -m pip
Plusieurs versions Python, comportement aléatoireDoublons/ordre Path et PATHEXTNettoyer Path, garder une version “globale” et le reste en environnements virtuels
Après “Repair”, rien ne changeSession non rafraîchie ou GPO restreignanteRedé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 que pip tout court, afin de cibler précisément l’interpréteur.
  • Évitez les installations multiples globales : une seule installation “système/utilisateur” + des venv suffit 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 lanceur py.exe est 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)

  1. Désinstallez toutes les entrées Python (Store et non‑Store).
  2. Redémarrez la session Windows.
  3. Installez depuis l’installeur officiel en cochant Add python.exe to PATH et Install launcher.
  4. Vérifiez/ajustez le Path (dossier Python et Scripts avant WindowsApps).
  5. (Optionnel) Désactivez les alias python.exe/python3.exe dans les paramètres Windows.
  6. 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.3 installe 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 : avec py.exe dans le Path et un shebang (#!/usr/bin/env python), vous pouvez lancer un script directement depuis PowerShell/CMD.
Sommaire