Tras actualizar a Windows 11, puede aparecer el mensaje “Python was not found” incluso después de instalar Python desde la Microsoft Store. Aquí aprenderás por qué ocurre (alias de la Store y PATH) y cómo resolverlo paso a paso con dos rutas claras y comprobaciones rápidas.
Señales del problema
Los síntomas más frecuentes son:
- En PowerShell o Windows Terminal, al ejecutar
python
opython3
aparece “Python was not found; run without arguments to install from the Microsoft Store, or disable this shortcut from Settings > Manage App Execution Aliases.” - Has instalado Python desde la Microsoft Store, pero el mensaje persiste o la orden abre la Store en lugar de arrancar Python.
- La orden
py
(el Python Launcher) sí funciona, peropython
no. pip
no se encuentra o se abre la Store cuando intentas usarlo.
Causa técnica explicada
Windows 11 incorpora unos ejecutables “stub” (accesos directos especiales) que viven en %LOCALAPPDATA%\Microsoft\WindowsApps
. Estos stubs forman parte de los Alias de ejecución de aplicaciones y sirven para redirigirte a la Microsoft Store cuando una orden no existe, por ejemplo python.exe
o python3.exe
. Si el alias está activado, precede a tus rutas reales en el PATH. Resultado: aunque tengas Python instalado, el sistema puede seguir invocando el stub de la Store.
A esto se suman dos factores frecuentes:
- PATH mal configurado: la carpeta real de Python (y su
Scripts\
) no aparece antes queWindowsApps
, o directamente no aparece. - Restos de instalaciones previas: huellas en el PATH, múltiples versiones, o desinstalaciones incompletas que confunden a
where.exe
y aGet-Command
.
Diagnóstico rápido
Antes de tocar nada, corre estas comprobaciones en PowerShell:
# 1) ¿Qué ejecutable está resolviendo el nombre "python"?
where.exe python
gcm python -All
2) ¿Y el "launcher"?
where.exe py
gcm py -All
3) ¿Qué versión responde (si responde)?
python --version
py --version
4) ¿Qué instalaciones encuentra el launcher?
py -0p
5) ¿Cómo está tu PATH de usuario y de sistema?
[Environment]: :GetEnvironmentVariable\('Path','User'\)
[Environment]: :GetEnvironmentVariable\('Path','Machine'\)
Interpretación rápida:
- Si
where.exe python
ogcm python
devuelven rutas dentro de...\Microsoft\WindowsApps\python.exe
, estás llegando al stub de la Store. Debes desactivar los alias o poner la carpeta real de Python antes en PATH. - Si
py
responde ypython
no, la instalación existe; el problema está en PATH/alias. Usapy -0p
para listar las instalaciones que ve el launcher. - Si nada responde, repara o reinstala con el instalador oficial.
Rutas de solución
Tienes dos formas válidas de resolverlo. Elige la que mejor encaje con tu situación.
Ruta | Cuándo elegirla | Ventajas | Consideraciones |
---|---|---|---|
Reinstalación limpia desde python.org | Cuando hay restos de instalaciones, dudas sobre el origen, o múltiples versiones. | Deja el sistema ordenado; configura PATH y py.exe correctamente. | Implica desinstalar y reinstalar. |
Conservar tu instalación actual | Si ya instalaste correctamente (Store u otro) y solo falla la resolución del comando. | Más rápido; basta con ajustar alias y PATH. | Requiere identificar rutas exactas y orden del PATH. |
Reinstalación limpia desde python.org
Opción recomendada para la mayoría de los casos.
- Desinstala todas las entradas de Python desde Configuración → Aplicaciones (incluye Microsoft Store y otras variantes).
- Desactiva los alias de la Store para
python.exe
ypython3.exe
:
Configuración → Aplicaciones → Ajustes avanzados de aplicaciones → Alias de ejecución de aplicaciones y apaga ambos conmutadores. - Instala Python usando el instalador oficial. En la pantalla inicial marca:
- “Add python.exe to PATH”
- “Install launcher for all users (py.exe)”
- Cierra y vuelve a abrir PowerShell. Verifica:
python --version py --version py -0p where.exe python
Debes ver la versión instalada y rutas que no apunten aWindowsApps
.
Conservar la instalación actual y corregir PATH y alias
- Desactiva los alias
python.exe
ypython3.exe
como se indicó. - Localiza la carpeta real de tu Python. Suele estar en:
C:\Users<TU_USUARIO>\AppData\Local\Programs\Python\Python3xx\
C:\Users<TU_USUARIO>\AppData\Local\Programs\Python\Python3xx\Scripts\
3xx
según tu versión (por ejemplo,311
,312
,313
). - Añade esas rutas al PATH (de usuario o del sistema). Hazlo desde Configuración → Sistema → Información → Configuración avanzada del sistema → Variables de entorno y edita
Path
. Coloca estas rutas por encima de...\Microsoft\WindowsApps
. - Reabre la terminal y comprueba:
where.exe python gcm python -All python --version
Si sigues viendoWindowsApps
, revisa el orden delPath
y que los alias estén realmente desactivados.
Verificaciones posteriores
Una vez arreglado, valida el entorno y pip
:
# Mostrar instalaciones que ve el launcher
py -0p
Comprobar pip asociado a la versión por defecto
py -m pip --version
Instalar/actualizar pip de forma segura
py -m pip install --upgrade pip
Crear un entorno virtual de prueba
py -m venv .venv
..venv\Scripts\Activate.ps1
python -c "import sys; print(sys.executable)"
pip list
Salir del entorno
deactivate
Limpieza a fondo de restos
Si alguna vez instalaste varias versiones o cambiaste entre Store e instalador clásico, es posible que queden restos. Buenas prácticas:
- Revisa
Aplicaciones instaladas
y elimina todas las entradas de Python que no uses. - Inspecciona estas carpetas y borra únicamente lo que sepas que ya no usas:
%LOCALAPPDATA%\Programs\Python\
%LOCALAPPDATA%\Microsoft\WindowsApps\
(no borres stubs del sistema; céntrate en desactivar alias)%APPDATA%\Python\
y%LOCALAPPDATA%\pip\
para caches si lo deseas
- Evita usar
setx PATH ...
para “parchear” el PATH desde la línea de comandos: puede truncarlo y perder entradas. Prefiere siempre el editor gráfico de Variables de entorno.
Asociaciones de archivos y el launcher
En Windows, el Python Launcher (py.exe
) gestiona múltiples versiones en paralelo. Úsalo a tu favor:
# Ver todas las instalaciones conocidas por py.exe
py -0p
Forzar una versión concreta
py -3.11 --version
py -3.12 --version
Usar pip de una versión específica
py -3.12 -m pip install requests
Si py
funciona pero python
no, no es necesario reinstalar: basta con ajustar alias y PATH. Además, para evitar conflictos con pip
, una práctica robusta es siempre invocar pip
vía py -m pip
.
Buenas prácticas para evitar regresiones
- No mezcles instalación de la Microsoft Store y la de python.org en el mismo equipo.
- Tras modificar PATH o alias, abre una nueva ventana de PowerShell/Terminal (las sesiones antiguas no recargan variables).
- Mantén una carpeta por versión y evita instalaciones en rutas con espacios extraños o permisos limitados.
- Trabaja en entornos virtuales por proyecto (
venv
), así aislas dependencias y evitas romper la instalación base. - Si administras equipos, documenta una política clara: origen de instalación, versión objetivo y control de alias.
Preguntas frecuentes
¿Por qué al escribir python
se abre la Store?
Porque los Alias de ejecución de aplicaciones están activos. Desactívalos para python.exe
y python3.exe
.
Instalé Python pero pip
no aparece
Invoca py -m ensurepip --upgrade
o reinstala asegurando que la opción de pip esté marcada. Luego usa py -m pip
siempre.
py
funciona, python
no
El launcher detecta instalaciones, pero tu PATH
o los alias de la Store interfieren. Revisa py -0p
, desactiva alias y acomoda el PATH.
¿Qué orden debe llevar el PATH?
La carpeta de tu Python y su Scripts\
deben estar antes que %LOCALAPPDATA%\Microsoft\WindowsApps
. Evita duplicados.
¿Es mejor la Store o el instalador clásico?
Para desarrollo profesional, el instalador clásico ofrece más control (launcher, opciones de PATH y reparaciones). La Store es cómoda, pero los alias suelen causar confusiones.
Resumen de comandos útiles
Comando | Para qué sirve | Resultado esperado |
---|---|---|
where.exe python | Resuelve qué ejecutable se usa | Ruta a tu python.exe real, no WindowsApps |
gcm python -All | Lista todos los comandos con ese nombre | Muestra el orden de resolución en PowerShell |
py -0p | Lista instalaciones conocidas por el launcher | Versiones y rutas instaladas |
py -m pip --version | Comprueba pip de forma segura | Devuelve ruta y versión de pip |
python --version | Verifica la versión por defecto | Versión correcta (coincidente con tu instalación) |
Explicación de los alias de ejecución
Los alias de ejecución son conmutadores por aplicación que crean “nombres reservados” en el sistema (por ejemplo, python
, python3
, curl
, etc.). Al estar habilitados, Windows añade al PATH la carpeta de stubs en WindowsApps
. Cuando escribes python
, el sistema encuentra primero el stub y decide si redirigir a la Store o ejecutar algo externo. Esto es útil para usuarios que no tienen la app instalada, pero perjudica cuando ya instalaste Python por otra vía, porque el stub impide alcanzar tu ejecutable real. Por eso, para desarrollo, lo más sensato es desactivar los alias de Python.
Checklist final
- Alias desactivados para
python.exe
ypython3.exe
. - Carpeta de
Python3xx\
yPython3xx\Scripts\
incluidas y priorizadas en el PATH. - El launcher
py.exe
instalado y operativo. where.exe python
no apunta aWindowsApps
.py -m pip
funciona y muestra la ruta correcta.
Conclusión
El error “Python was not found” en Windows 11, tras instalar desde la Microsoft Store, rara vez implica que Python “no esté”. Casi siempre se trata de una resolución de comandos secuestrada por los alias y/o de un PATH mal ordenado. Con las comprobaciones propuestas y eligiendo entre la reinstalación limpia o el ajuste fino de PATH/alias, podrás normalizar tu entorno de desarrollo en minutos y, de paso, dejarlo preparado para convivir con múltiples versiones mediante el Python Launcher.
Guía rápida de actuación
- Desactiva los alias: Configuración → Aplicaciones → Ajustes avanzados de aplicaciones → Alias de ejecución de aplicaciones.
- Prefiere el instalador clásico con las opciones Add to PATH y Install launcher.
- Si conservas tu instalación actual, añade las carpetas reales de Python y Scripts al PATH y colócalas por encima de
WindowsApps
. - Comprueba con
where.exe python
,gcm python -All
,python --version
ypy -0p
. - Usa
py -m pip
para instalar paquetes y considera trabajar envenv
.