Windows 上 py 和 python 显示不同版本的原因在 Windows 命令行中输入py --version和python --version却得到两个不同版本这是很多开发者都会遇到的困惑。根本原因py和python是两个完全不同的命令py是 Windows 官方的 Python 启动器。它会自动识别系统中所有已安装的 Python 版本并默认使用最新版本。你可以通过py -3.10或py -3.8来指定具体版本。python则是直接调用系统 PATH 环境变量中第一个找到的python.exe。它并不关心你安装了多少个版本只执行排在最前面的那个。简单来说py负责版本管理python则完全依赖 PATH 的顺序。你的具体情况根据你提供的诊断结果py --list显示系统中存在3.10默认、3.9和3.8三个版本。where python指向C:\Users\11390\application\python\python.exe这是一个 Python 3.8 的安装目录。该目录被添加到了 PATH 环境变量中导致直接输入python时总是调用 3.8 版本。而py启动器不受 PATH 影响因此能正确使用最新版本。解决办法以下是几种实用方案根据你的需求选择即可。方案一统一使用 py 命令最推荐以后直接用py代替python这是最干净的做法py # 默认使用最新版本当前为 3.10 py -3.10 # 指定使用 3.10 py -3.8 # 指定使用 3.8 py -m pip install 包名方案二修改 PATH让 python 指向新版本如果你希望直接输入python时也能使用 3.10可以调整环境变量顺序先执行命令查看 3.10 的真实路径py -3.10 -c import sys; print(sys.executable)将 Python 3.10 的目录通常在AppData\Local\Programs\Python\Python310和它的Scripts文件夹添加到系统PATH的最前面。重启命令行窗口即可生效。方案三通过 py.ini 设置默认版本想让py命令默认固定使用某个版本可以创建配置文件在路径C:\Users\你的用户名\AppData\Local下新建文件py.ini内容如下[defaults] python3.10保存后py将默认启动 3.10 版本。方案四使用虚拟环境项目推荐做法对于具体开发项目建议为每个项目创建独立虚拟环境py -3.10 -m venv 项目名 cd 项目名 Scripts\activate这样可以为不同项目锁定不同 Python 版本避免全局冲突。方案五移除不再需要的旧版本如果确认不再使用 Python 3.8可以直接从 PATH 中删除C:\Users\11390\application\python这个路径。这样python命令就会自动指向其他版本。根据使用习惯选择合适方案即可。大多数情况下统一使用 py 命令已经能很好地解决多版本管理问题。