Windows 11下py未关联最新Python版本的原因及解决方法
问题原因与解决办法
为什么py和python3显示的版本不一样?
py是Windows专属的Python启动器命令,它的版本选择逻辑和python3完全不同:
py会优先检查当前目录下的配置文件(比如pyproject.toml、.python-version)是否指定了版本;如果没有这类文件,就会使用注册表中记录的「默认Python版本」——这个版本大概率是你最早安装的Python(也就是3.8.10),或是之前手动设置过的默认版本。- 而
python3是直接调用系统环境变量PATH中排序最靠前的Python可执行文件。你后来安装的Python 3.12.2在安装时会自动把自身路径放到PATH最前面,所以python3能直接找到最新版本。
怎么把py命令关联到最新的Python 3.12.2?
有几种实用的解决方式:
临时指定版本(单次生效)
每次使用py命令时加上版本号即可:
py -3.12 --version
永久设置默认版本(一劳永逸)
方法1:通过配置文件设置
在你的用户文件夹(比如C:\Users\你的用户名)中新建一个py.ini文件,写入以下内容:
[defaults] python=3.12
保存后关闭当前命令行窗口,重新打开再执行py --version,就能看到版本已切换为3.12.2。
方法2:修改注册表设置
- 按下
Win+R,输入regedit打开注册表编辑器 - 导航到路径
HKEY_CURRENT_USER\Software\Python\PythonLauncher - 在右侧查找
DefaultPython字符串键(如果没有,右键新建一个字符串值并命名为DefaultPython) - 将其数值数据修改为
3.12,关闭注册表后重启命令行窗口即可生效。
方法3:重装最新版Python
如果嫌上述步骤麻烦,直接重新运行Python 3.12.2的安装包,记得勾选「Add Python to PATH」选项,并选择「Install for all users」,安装完成后Python启动器的默认版本会自动更新为3.12.2。
内容的提问来源于stack exchange,提问作者αλεχολυτ
相关产品推荐
相关产品推荐

