You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下py --version与python --version返回版本不同的原因?

Windows下py与python命令版本差异的原因及解决办法

核心区别:两个命令的版本选择逻辑完全不同

  • python命令直接遵循系统PATH环境变量的优先级,哪个Python的路径在PATH最顶端,就调用哪个版本——所以你环境变量顶端是3.11,执行python --version返回3.11是完全正常的。
  • py是Windows专属的Python启动器(Python Launcher for Windows)的调用命令,它的版本选择和PATH无关,优先级逻辑是:
    1. 优先读取当前工作目录下的pyvenv.cfg或.python-version文件指定的版本
    2. 其次读取用户主目录(C:\Users\你的用户名)下的.python-version文件
    3. 最后使用注册表中记录的默认Python版本(通常是你安装时勾选了「Set as default Python」的版本,或者通过py -0能看到带*标记的版本)

如何验证和调整

  1. 查看启动器识别的所有版本及默认项:
    执行命令 py -0,输出里带*的就是当前py命令默认调用的版本(你现在应该是3.9.1带*)
  2. 临时指定版本运行:
    如果要临时用3.11,执行 py -3.11 --version 即可
  3. 修改py命令的默认版本:
    • 最简单的方式:重新运行Python 3.11的安装包,选择「Modify」,确保勾选「Python Launcher for Windows」,并在后续选项中设置为默认版本
    • 或者在用户主目录下创建一个.python-version文件,内容只写3.11,保存后py命令就会默认调用3.11

内容的提问来源于stack exchange,提问作者JeffC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 18:27:41