Windows系统如何列出全部Python版本?默认版本判定规则是什么?
问题解析与解决方案
一、版本显示不一致的原因
Windows下的py是官方提供的Python启动器,它仅识别通过官方安装程序(且安装时关联到启动器)的Python版本;而python命令直接调用系统PATH环境变量中优先级最高的python.exe,这个版本可能是手动添加PATH、通过第三方包管理器(如Chocolatey、Miniconda)安装,或是手动解压部署的,因此未被启动器收录。
二、列出系统所有Python版本的方法
1. 用命令行查找PATH中的Python
执行以下命令,会列出所有能被系统找到的python.exe路径:
where python
也可以直接查看PATH变量内容,定位Python相关目录:
echo %PATH%
2. 通过注册表查看已注册版本
按下Win+R输入regedit,导航到以下路径查看已注册的Python版本:
HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore:全局安装的版本HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore:当前用户私有的安装版本
每个子项对应一个版本,子项内的InstallPath键值就是该版本的安装目录。
3. 手动检查常见安装路径
- 全局安装:
C:\Program Files\PythonXX(64位)或C:\Program Files (x86)\PythonXX(32位) - 用户级安装:
C:\Users\你的用户名\AppData\Local\Programs\Python\PythonXX - 第三方渠道:如Miniconda通常在
C:\Users\你的用户名\miniconda3,Chocolatey安装的版本可能在C:\ProgramData\chocolatey\lib\pythonXX
三、默认Python版本的判定规则
1. python命令的默认版本
完全由系统PATH环境变量的顺序决定:系统会按PATH中路径的先后顺序查找python.exe,第一个找到的版本就是python命令启动的默认版本。
2. py启动器的默认版本
- 启动器输出中带
*标记的版本(如你输出里的-3.9-64 *)是它的默认版本,输入py会直接启动该版本 - 可通过修改
py.ini文件(通常在C:\Windows目录下)调整默认版本,或在安装Python时勾选"Set as default"选项设置 - 若未标记默认版本,启动器会优先选择最新安装的官方版本
四、总结
你的系统中至少存在三个Python版本:3.8、3.9(被py启动器识别),以及3.10(因在PATH中优先级更高,被python命令调用)。如需统一管理,可调整PATH变量的路径顺序,或通过py -3.10这类命令指定版本启动,也可修改py启动器的默认版本。
内容的提问来源于stack exchange,提问作者mir abir hossain
相关产品推荐
相关产品推荐

