Windows 上 py 和 python 显示不同版本的原因
2026/7/12 4:53:47 网站建设 项目流程

Windows 上 py 和 python 显示不同版本的原因

在 Windows 命令行中,输入py --versionpython --version却得到两个不同版本,这是很多开发者都会遇到的困惑。

根本原因

pypython是两个完全不同的命令:

  • py是 Windows 官方的 Python 启动器。它会自动识别系统中所有已安装的 Python 版本,并默认使用最新版本。你可以通过py -3.10py -3.8来指定具体版本。
  • python则是直接调用系统 PATH 环境变量中第一个找到的python.exe。它并不关心你安装了多少个版本,只执行排在最前面的那个。

简单来说,py负责版本管理,python则完全依赖 PATH 的顺序。

你的具体情况

根据你提供的诊断结果:

  • py --list显示系统中存在3.10(默认)、3.93.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,可以调整环境变量顺序:

  1. 先执行命令查看 3.10 的真实路径:

    py -3.10 -c "import sys; print(sys.executable)"
  2. 将 Python 3.10 的目录(通常在AppData\Local\Programs\Python\Python310)和它的Scripts文件夹,添加到系统PATH的最前面。

  3. 重启命令行窗口即可生效。

方案三:通过 py.ini 设置默认版本

想让py命令默认固定使用某个版本,可以创建配置文件:

在路径C:\Users\你的用户名\AppData\Local下新建文件py.ini,内容如下:

[defaults] python=3.10

保存后,py将默认启动 3.10 版本。

方案四:使用虚拟环境(项目推荐做法)

对于具体开发项目,建议为每个项目创建独立虚拟环境:

py -3.10 -m venv 项目名 cd 项目名 Scripts\activate

这样可以为不同项目锁定不同 Python 版本,避免全局冲突。

方案五:移除不再需要的旧版本

如果确认不再使用 Python 3.8,可以直接从 PATH 中删除C:\Users\11390\application\python这个路径。这样python命令就会自动指向其他版本。


根据使用习惯选择合适方案即可。大多数情况下,统一使用 py 命令已经能很好地解决多版本管理问题。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询