Parece que una actualización de Windows 10 rompió Python de la noche a la mañana. Solo intenté ejecutar python --version devolvió un error de "Permiso denegado". Ninguna de las tres actualizaciones; Parece que KB4507453, KB4506991 o KB4509096 serían los culpables, pero el momento del problema es sospechoso. En lugar de jugar con la reversión, espero que haya una solución más simple que me falta.
Los permisos en python son "-rwxr-xr-x" y no he cambiado nada además de permitir que la actualización de Windows reinicie la máquina después de instalar los parches de anoche.
De acuerdo con la información del sistema, estoy ejecutando 10.0.18362
También debo tener en cuenta que esto sucede ya sea que (intente) ejecutar Python desde git-bash usando "ejecutar como administrador" o no, y si intento usar PowerShell, simplemente abre la tienda de Windows como si la aplicación no estuviera instalada. Estoy pensando que no puede ver el contenido de mi carpeta /c/Users/david/AppData/Local/Microsoft/WindowsApps/ por alguna razón.
También intenté reinstalar Python 3.7.4, pero tampoco ayudó. ¿Hay algo más que debería estar mirando?
Por lo que puedo decir, esto fue causado por un conflicto con la versión de Python 3.7 que se agregó recientemente a la Tienda Windows. Parece que esto agregó dos "talones" llamados python.exe y python3.exe en la carpeta %USERPROFILE%\AppData\Local\Microsoft\WindowsApps , y en mi caso, esto se insertó antes de la entrada de mi ejecutable Python existente en PATH .
Mover esta entrada debajo de la carpeta Python correcta (parcialmente) corrigió el problema.
La segunda parte de corregirlo es escribir manage app execution aliases en el indicador de búsqueda de Windows y deshabilitar las versiones de la tienda de Python por completo.
Es posible que solo necesites hacer la segunda parte, pero en mi sistema hice ambos cambios y todo volvió a la normalidad ahora.
Todos los archivos en %USERPROFILE%\AppData\Local\Microsoft\WindowsApps son marcadores de posición que apuntan a archivos que en realidad se encuentran en algún lugar de C:\Program Files\WindowsApps , a los que se les niegan los permisos por completo.
Parece que estaba en el camino correcto con mi declaración hecha en mi duplicado de este problema:
"¡Parece que realmente no pensaron en el método de distribución jugando con los permisos!"
Fuente: No se puede instalar pylint en Git Bash en Windows (Tienda Windows)
Los permisos están realmente jodidos debido al método de distribución de WindowsApps:


Curiosamente, dice que el grupo "Usuarios" puede leer y ejecutar archivos, así como mi usuario específico, pero el grupo Administradores solo puede enumerar el contenido de la carpeta por alguna razón insondable e hilarante. Y cuando intenta acceder a la carpeta en el Explorador de archivos, se niega incluso a mostrar el contenido de la carpeta, por lo que también hay algo sospechoso en eso.
Curiosamente, aunque la ejecución de python en CMD funciona bien, la carpeta "WindowsApps" no aparece al enumerar los archivos en el directorio en el que reside, e intentar navegar en la carpeta genera un error de "Permiso denegado":
Intentar cambiar los permisos requiere cambiar primero el propietario, así que cambié el propietario al grupo Administradores. Después de eso, intenté cambiar los permisos para que el grupo Administradores incluyera Control total, pero no pude cambiar esto porque "se denegó el acceso" (duh, Micro$ucks, ¡eso es lo que estamos tratando de cambiar!).
Este error de permiso ocurrió para tantos archivos que usé Alt+C para hacer clic rápidamente en "Continuar" en los mensajes repetidos, pero esto aún tomó demasiado tiempo, así que cancelé el proceso, lo que provocó que apareciera este mensaje de advertencia:
Y ahora no puedo volver a configurar al usuario TrustedInstaller como propietario de la carpeta WindowsApps, porque no aparece en la lista de Usuarios/Grupos/Principios de seguridad integrados/Otros objetos. *
*En realidad, según este tutorial , puede volver a cambiar el propietario a TrustedInstaller escribiendo NT Service\TrustedInstaller en el cuadro de texto del nombre del objeto.
No hay solución. Básicamente, estamos completamente jodidos. Movimiento elegante, Microsoft.
Esto parece ser una limitación en git-bash. La recomendación de usar winpty python.exe funcionó para mí. Consulte Python no funciona en la línea de comando de git bash para obtener información adicional.