PowerShell未读取用户变量中设置的Python路径问题
Python命令默认指向WindowsApps无效文件的解决方法
问题现象
已将Python 3.10安装目录添加至用户环境变量Path,但在PowerShell中执行python命令时,系统会调用C:\Users\sfino\AppData\Local\Microsoft\WindowsApps\python.exe(0KB大小,无法访问),而非指定的Python安装路径。直接执行安装目录下的python.exe可正常运行,多次卸载重装Python问题依旧。
问题验证命令
# 查看python命令的实际指向路径 PS C:\Users\sfino\OneDrive\Documents\Data Science\Tutorials> Get-Command python | Select-Object -ExpandProperty Definition C:\Users\sfino\AppData\Local\Microsoft\WindowsApps\python.exe # 尝试运行WindowsApps下的python.exe,触发访问错误 PS C:\Users\sfino\OneDrive\Documents\Data Science\Tutorials> C:\Users\sfino\AppData\Local\Microsoft\WindowsApps\python.exe Program 'python.exe' failed to run: The file cannot be accessed by the systemAt line:1 char:1 + C:\Users\sfino\AppData\Local\Microsoft\WindowsApps\python.exe + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~. At line:1 char:1 + C:\Users\sfino\AppData\Local\Microsoft\WindowsApps\python.exe + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ResourceUnavailable: (:) [], ApplicationFailedException + FullyQualifiedErrorId : NativeCommandFailed # 直接运行安装目录下的python.exe,正常启动Python PS C:\Users\sfino\OneDrive\Documents\Data Science\Tutorials> C:\Users\sfino\AppData\Local\Programs\Python\Python310\python.exe Python 3.10.10 (tags/v3.10.10:aad5f6a, Feb 7 2023, 17:20:36) [MSC v.1929 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information.
解决步骤
调整环境变量Path顺序
- 右键「此电脑」>「属性」>「高级系统设置」>「环境变量」
- 在用户变量的
Path列表中,找到Python安装目录路径(C:\Users\sfino\AppData\Local\Programs\Python\Python310),将其移动到C:\Users\sfino\AppData\Local\Microsoft\WindowsApps路径的上方 - 保存设置后,关闭并重新打开PowerShell,执行
Get-Command python验证路径是否正确
删除WindowsApps下的无效Python关联文件
- 打开文件资源管理器,导航到
C:\Users\sfino\AppData\Local\Microsoft\WindowsApps - 找到
python.exe和python3.exe(若存在),直接删除这些文件(均为链接文件,删除不影响系统) - 重启PowerShell后执行
python命令测试
- 打开文件资源管理器,导航到
使用Python Launcher指定版本
若上述方法无效,确保Python安装时勾选了「Add Python to PATH」和「Install launcher for all users」选项,之后在PowerShell中执行py -3.10直接调用指定版本,或用py命令匹配默认Python版本
内容的提问来源于stack exchange,提问作者Santiago Fino
相关产品推荐
相关产品推荐

