Windows es el sistema donde más fácil es tener Python instalado y roto al mismo tiempo. Puedes ejecutar python en la terminal y que te abra la Microsoft Store, o tener tres versiones instaladas y que el sistema use siempre la que no quieres. Todo esto tiene explicación, y tiene solución.
Dos fuentes, dos filosofías
Cuando buscas Python en Windows tienes esencialmente tres caminos: python.org, Microsoft Store, y distribuciones de terceros como Anaconda o WinPython. No son equivalentes.
El instalador de python.org es la distribución oficial de CPython. Te da control total: tú decides dónde se instala, qué componentes incluir, y —el punto más crítico— si se agrega al PATH del sistema. Es lo que deberías usar en la mayoría de los casos.
Microsoft Store instala Python en una sandbox dentro de tu perfil de usuario (%LOCALAPPDATA%\Microsoft\WindowsApps). El PATH se configura automáticamente, lo cual suena cómodo, pero tiene restricciones reales: algunos paquetes que necesitan compilar extensiones nativas o acceder a rutas del sistema fallan silenciosamente o con errores confusos. También puede convivir mal con instalaciones de python.org del mismo número de versión.
Anaconda y WinPython existen porque el ecosistema científico necesita paquetes como NumPy o SciPy que dependen de bibliotecas nativas de C/Fortran. Instalarlos con pip en Windows solía ser un calvario. Anaconda resuelve eso empaquetando todo junto, con su propio gestor (conda) y sus propios entornos. Tiene sentido si trabajas en ciencia de datos o machine learning. Para desarrollo web, scripts de automatización, o aprender Python, es demasiado peso: son más de 3 GB y añade capas de complejidad que no necesitas al principio.
La regla simple: si estás aprendiendo o desarrollando aplicaciones generales, usa python.org. Si tu trabajo vive en notebooks de Jupyter y pandas, considera Anaconda.
La opción que no puedes ignorar
Durante la instalación desde python.org, el primer paso te muestra una casilla que dice “Add Python to PATH”. Está desmarcada por defecto. Debes marcarla.
El PATH es una lista de directorios que Windows recorre cada vez que escribes un comando en la terminal. Si Python no está en esa lista, el sistema no sabe dónde encontrar el ejecutable python.exe, y cada vez que escribas python en la terminal obtendrás un error o, peor, se abrirá la Microsoft Store. Marcar esa casilla agrega automáticamente el directorio de instalación de Python y el directorio Scripts (donde viven herramientas como pip) a tu PATH de usuario.
También conviene elegir “Customize installation” y verificar que “pip” y “py launcher” estén incluidos. El py launcher (py.exe) es una herramienta específica de Windows que te permite invocar versiones concretas de Python con py -3.11 o py -3.12, lo cual se vuelve indispensable cuando tienes múltiples versiones instaladas.
Verificar que todo funciona
Después de instalar, abre una terminal nueva (importante: nueva, porque el PATH solo se recarga al abrir una sesión fresca) y ejecuta:
# En la terminal de Windows (cmd o PowerShell) # No es código Python, son comandos de terminal # Verificar versión activa python --version # Ver TODOS los ejecutables de Python que el sistema encuentra where python # El py launcher te muestra todas las versiones instaladas py --list
where python es tu herramienta de diagnóstico. Si ves múltiples rutas, el sistema usará la primera. Si la primera no es la que quieres, tienes un problema de orden en el PATH.
Convivir con múltiples versiones
Windows no tiene un mecanismo nativo como update-alternatives de Linux. Si instalas Python 3.11 y 3.12, ambos registran sus rutas en el PATH, y el orden importa. El último instalador que ejecutes con la opción de PATH activada generalmente se pone primero, pero no siempre.
Aquí el py launcher se gana su lugar:
# Crear un entorno virtual con una versión específica # (ejecutar en PowerShell o cmd) # Con py launcher — explícito y sin ambigüedad py -3.11 -m venv mi_entorno_311 py -3.12 -m venv mi_entorno_312 # Activar el entorno (PowerShell) mi_entorno_311\Scripts\Activate.ps1 # Verificar qué Python está activo dentro del entorno python --version where python
Una vez que activas un entorno virtual, python apunta al intérprete de ese entorno y olvídate del problema de versiones: todo lo que instales con pip va ahí, aislado del resto.
Walkthrough del flujo completo
El código de arriba refleja el flujo que deberías seguir. Fíjate en la secuencia: primero creas el entorno con py -3.XX, que es la forma inequívoca de decirle a Windows qué versión quieres. El módulo -m venv está incluido en Python desde la 3.3, no necesitas instalar nada extra.
Cuando activas el entorno con Activate.ps1 y luego ejecutas where python, verás que la ruta ahora apunta a mi_entorno_311\Scripts\python.exe. El entorno virtual “secuestra” el PATH dentro de esa sesión de terminal, lo cual es exactamente el comportamiento que quieres: el proyecto usa la versión correcta, y el sistema global no se contamina.
Si PowerShell te bloquea la ejecución del script de activación con un error de política de ejecución, ejecuta esto una sola vez:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Eso le dice a PowerShell que puede ejecutar scripts locales sin firma, sin relajar la seguridad para scripts descargados de internet.
Errores que debes conocer
Error: python abre la Microsoft Store en lugar de ejecutar Python, aunque tengas Python instalado desde python.org.
# ❌ Problema: Windows tiene "alias de aplicación" activados para Python # En Configuración → Apps → Alias de ejecución de aplicaciones # python.exe y python3.exe están activados y apuntan a la Store # ✅ Solución: desactivar esos alias desde la configuración del sistema # Luego abrir una terminal nueva y verificar where python python --version
Los alias de aplicación de Windows tienen prioridad sobre el PATH, así que aunque Python esté bien instalado y en el PATH, el alias gana. Desactivarlos desde Configuración → Aplicaciones → Alias de ejecución de aplicaciones resuelve el conflicto permanentemente.
Error: pip no se reconoce como comando después de instalar Python.
# ❌ El directorio Scripts no está en el PATH pip install requests # 'pip' no se reconoce como un comando interno o externo # ✅ Usar el módulo directamente, o reinstalar marcando la opción de PATH python -m pip install requests
Cuando el instalador agrega Python al PATH, debería incluir también el directorio Scripts. Si no lo hizo, python -m pip siempre funciona porque invoca pip como módulo del intérprete que ya está en el PATH, sin depender de que Scripts esté registrado.
Error: Crear un entorno virtual falla con un error sobre venv no encontrado o el entorno queda sin pip.
# ❌ En algunas distribuciones (raro en python.org, común en sistemas Linux # pero vale la pena conocerlo) venv no incluye pip py -3.11 -m venv mi_entorno # ✅ Forzar la instalación de pip dentro del entorno py -3.11 -m venv mi_entorno --upgrade-deps # O si el entorno ya existe mi_entorno\Scripts\python.exe -m pip install --upgrade pip
La opción --upgrade-deps garantiza que el entorno recién creado tenga pip y setuptools actualizados, evitando advertencias y comportamientos inconsistentes desde el primer uso.
N° 7