一、本机完整环境现状说明
本机为多Python版本共存环境,通过py -0 可查到全部有效解释器,共4套独立环境:Python3.13、Python3.11、Python3.9(官方纯净版)、Anaconda3.9(集成版)。
命令 :py -0

关键环境属性说明:
-
Python3.13 :带
*标记,为微软 py.exe 启动器默认版本 ,仅对py系列命令生效,不控制系统python命令。 -
Python3.11 :系统环境变量PATH优先级最高,是CMD直接输入
python的默认调用版本。 -
Python3.9 纯净版:官方原生干净环境,未被当前项目使用。
-
Anaconda3.9(Anaconda 2022.05):第三方集成Python3.9环境,和官方纯净3.9互不冲突,当前项目完全未调用。
本次项目环境创建信息:
-
虚拟环境创建命令:
python -m venv venv(未手动指定3.11版本) -
最终生效版本:Python 3.11.9
-
环境归属:未使用py默认3.13版本、未使用Anaconda环境,全程基于系统PATH优先级最高的纯净Python3.11构建。
二、核心终极误区:两套Python调用规则(完全独立、互不干扰)
这是本次所有疑问的根本核心 :py启动器默认版本 ≠ CMD python命令默认版本,两套机制完全独立。
1. py.exe 启动器规则(只管 py 开头命令)
-
py -0带*的3.13,是微软官方启动器默认版本 -
只要执行
py、py -3等py开头命令,默认直接调用 Python3.13 -
想要精准指定版本创建环境,必须手写版本号:
py -3.11 -m venv venv -
该规则完全不影响、不约束 CMD 直接输入的 python 命令
2. python 命令规则(只看系统PATH优先级)
-
CMD直接输入
python,无视py启动器的*默认标记 -

-
系统逻辑:从上到下遍历系统环境变量PATH,谁路径靠前,优先调用谁的python.exe
-

-
你的电脑环境:Python3.11 PATH排序 > Python3.13 PATH排序
-
所以你直接敲 python,默认永远启动 3.11.9,不是3.13
3. 一句话极简区分口诀(永久记住)
-
py 命令 → 看星号(默认3.13)
-
python 命令 → 看PATH(默认3.11.9)
三、虚拟环境创建底层逻辑(解释为什么是3.11.9)
命令:python -m venv venv
底层执行逻辑:复制「当前终端正在生效的python解释器」,生成独立隔离环境
你创建环境时,终端默认生效的是PATH优先级最高的3.11.9,因此:
venv 从诞生那一刻起,永久锁定 Python3.11.9,和系统3.13彻底无关
四、虚拟环境永久隔离原理(版本永不自动变更)
1. 创建阶段:版本永久固化
执行创建命令时,系统会将当前3.11.9完整解释器复制到 venv\Scripts\ 目录。后续无论你修改系统PATH顺序、修改py默认版本、升级系统Python,已创建的venv版本永远不会变。
2. 激活阶段:全局版本临时屏蔽
执行 venv\Scripts\activate 激活虚拟环境后:
-
系统临时将
venv\Scripts置顶到PATH最首位 -
当前窗口所有 python / pip 命令,只调用虚拟环境内部3.11.9
-
系统3.13、3.9、Anaconda全部临时失效、被屏蔽
3. 退出阶段:恢复系统全局规则
执行 deactivate 退出虚拟环境后:
-
临时PATH配置撤销
-
python恢复PATH优先级(3.11.9) -
py恢复启动器默认(3.13)
五、两种虚拟环境创建方式对比(避坑核心)
方式1:python -m venv venv(本次使用)
-
原理:跟随当前终端PATH优先级创建环境
-
优点:命令简单
-
缺点:多版本环境极不稳定,PATH一变、版本就乱,容易创建出3.13不兼容环境
方式2:py -3.11 -m venv venv(项目推荐、万能稳妥)
-
原理:强制通过py启动器锁定指定版本,完全不受PATH干扰
-
优点:100%精准锁定版本,不会出错,适配AI深度学习项目
-
缺点:需要手动填写对应版本号
六、三种验证虚拟环境版本的可靠方法
-
PATH溯源法 :退出虚拟环境,执行
where python,第一条路径为系统python默认版本来源。 -
版本直查法 :激活虚拟环境,执行
python --version,直接读取锁定版本。 -
依赖包佐证法 :pip安装的whl包带有
cp311后缀,代表仅适配Python3.11,间接证明环境版本无误。
七、Anaconda环境专项解析(彻底解惑)
-V:ContinuumAnalytics/Anaconda39-64 Anaconda 2022.05
1. 字段释义
-
ContinuumAnalytics:Anaconda官方开发厂商
-
Anaconda39-64:基于Python3.9的64位集成环境
-
Anaconda2022.05:软件发行版本
2. 本质区别
-
官方纯净Python :轻量、干净、无冗余,适配深度学习、AI视频、Torch项目
-
Anaconda Python :臃肿集成环境,主打数据分析、传统机器学习,库冲突多,不适合当前AI项目
3. 对本项目的影响
完全无影响、无冲突、未调用、未依赖,可直接忽略,无需卸载。
4. 为什么py -0能查到4个环境?
py启动器会扫描系统所有合法Python解释器,包含:纯净3.13、纯净3.11、纯净3.9、Anaconda3.9,属于正常现象。
八、Windows py 命令 与 python 命令 核心区别(专属本章总结)
这是多Python环境下最核心、最容易混淆的知识点,两条命令两套独立运行规则,互不干涉、互不影响,也是本次虚拟环境版本不符的根本原因。
1. py 命令(微软官方启动器)
-
核心规则 :默认版本看
py -0带*的版本,不受系统 PATH 环境变量控制 -
本机默认 :执行
py、py -3默认调用 Python3.13 -
核心优势 :支持手动指定版本,精准锁定环境,
py -3.11 -m venv venv可无视PATH强制创建3.11虚拟环境 -
适用场景 :多Python版本共存环境,创建虚拟环境、切换版本,项目首选、最稳定无坑
-
核心特点:专门为Windows多Python版本管理设计,可扫描识别所有纯净Python、Anaconda Python环境
2. python 命令(原生解释器命令)
-
核心规则 :完全无视py启动器的*默认标记,只看系统PATH环境变量前后排序
-
本机默认 :Python3.11路径在PATH中优先级高于3.13,直接执行
python默认调用 Python3.11.9 -
核心弊端:版本不可控,PATH顺序变动,默认Python版本就会改变,多版本环境极易出错
-
适用场景 :仅单Python版本纯净环境使用,多版本环境不推荐用来创建虚拟环境
3. 极简记忆口诀(永久不混淆)
-
py 命令 → 看星号、管多版本、不受PATH影响、稳定可控
-
python 命令 → 看PATH、随路径变化、多版本不稳定
4. 本机实操结果对照(精准对应你的环境)
-
py -3→ 调用 Python3.13(启动器默认) -
python→ 调用 Python3.11.9(PATH优先级) -
python -m venv venv→ 跟随PATH,创建3.11.9虚拟环境(你当前旧创建方式) -
py -3.11 -m venv venv→ 强制锁定,精准创建3.11.9虚拟环境(项目推荐新方式)
九、最终全局总结(最简、最清晰对照表)
-
系统 py启动器 默认版本 = 3.13(只管py命令)
-
系统 CMD python 默认版本 = 3.11.9(只看PATH排序)
-
当前项目虚拟环境 venv = 永久锁定 3.11.9(适配AI项目,无需重建)
-
系统 py启动器 默认版本 = 3.13(只管py命令)
-
系统 CMD python 默认版本 = 3.11.9(只看PATH排序)
-
当前项目虚拟环境 venv = 永久锁定 3.11.9(适配AI项目,无需重建)
十、长期避坑规范(后续所有项目通用)
-
AI深度学习、视频生成、Torch项目,固定使用 Python3.11,禁止3.12、3.13,避免兼容性报错。
-
多版本系统创建虚拟环境,统一使用 py -版本号 -m venv venv 精准创建,杜绝PATH干扰。
-
虚拟环境完全隔离,不污染全局环境,每个项目独立版本、独立依赖。
-
本机Anaconda环境保留即可,不用删除,不会影响AI项目运行。