Windows 11 Python 环境管理笔记

1. 查看 Python 版本

1.1 基本命令

python --version
python -V

1.2 查看所有已安装版本(通过 Python 启动器)

py -0

该命令列出系统中所有已注册的 Python 版本,带 * 号表示 py 命令的默认版本。

1.3 查看特定版本

py -3.13 --version
py -3.12 --version

2. 查看 Python 安装位置

2.1 通过 Python 启动器查询

py -3.13 -c "import sys; print(sys.executable)"
py -3.12 -c "import sys; print(sys.executable)"

2.2 通过 where 命令查询

where python

该命令按 PATH 环境变量优先级顺序列出所有 python.exe 的位置。

2.3 在 Python 交互环境中查询

py -3.13

进入交互环境后执行:

import sys
print(sys.executable)

2.4 常见默认安装路径

用户级安装(当前用户):

C:\Users\用户名\AppData\Local\Programs\Python\Python313\
C:\Users\用户名\AppData\Local\Programs\Python\Python312\

系统级安装(所有用户,需管理员权限):

C:\Program Files\Python313\
C:\Program Files\Python312\

3. 当前环境分析

在本机环境中,通过上述命令得到以下结果:

py -3.13 -c "import sys; print(sys.executable)"
C:\Users\Administrator\AppData\Local\Programs\Python\Python313\python.exe

py -3.12 -c "import sys; print(sys.executable)"
C:\Users\Administrator\AppData\Local\Programs\Python\Python312\python.exe

where python
G:\ProgramFiles\anaconda3\python.exe
C:\Users\Administrator\AppData\Local\Programs\Python\Python313\python.exe
C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps\python.exe

3.1 当前已安装版本

版本安装路径来源
Python 3.13C:\Users\Administrator\AppData\Local\Programs\Python\Python313\官网安装包
Python 3.12C:\Users\Administrator\AppData\Local\Programs\Python\Python312\官网安装包
Anaconda PythonG:\ProgramFiles\anaconda3\python.exeAnaconda 发行版

3.2 PATH 优先级分析

where python 的输出顺序即为 PATH 中的优先级顺序:

  1. G:\ProgramFiles\anaconda3\python.exe (当前最高优先级)
  2. C:\Users\Administrator\AppData\Local\Programs\Python\Python313\python.exe
  3. C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps\python.exe

因此当前直接输入 python 命令时,实际运行的是 Anaconda 的 Python,而非官网版本的 Python 3.13。


4. 切换默认 Python 版本

4.1 目标

python 命令的默认指向从 Anaconda 切换为官网 Python 3.13。

4.2 操作步骤

  1. Win + R,输入 sysdm.cpl,回车。
  2. 切换到"高级"选项卡,点击"环境变量"。
  3. 在"用户变量"或"系统变量"区域找到 Path 变量,双击编辑。
  4. 将 Python 3.13 相关路径上移至 Anaconda 路径之前:

    • C:\Users\Administrator\AppData\Local\Programs\Python\Python313\
    • C:\Users\Administrator\AppData\Local\Programs\Python\Python313\Scripts\(如存在)
  5. 点击"确定"保存所有窗口。
  6. 关闭所有已打开的命令行窗口,重新打开一个新的。
  7. 验证结果:

    python --version

4.3 验证命令

where python
python --version
py -3.13 --version
py -3.12 --version

预期结果:where python 第一行应为 Python 3.13 的路径,python --version 显示 Python 3.13.x


5. 升级到 Python 3.14

5.1 当前状态

通过 py -3.14 --version 检查发现,Python 3.14 尚未安装。

5.2 升级方法

方法一:通过 py 启动器自动安装(推荐)

setx PYLAUNCHER_ALLOW_INSTALL 1

关闭当前命令行窗口,重新打开一个新的,然后执行:

py -3.14 --version

该命令会自动通过 winget 从微软商店下载并安装 Python 3.14。

方法二:官网下载安装包

访问 https://www.python.org/downloads/ ,下载 Python 3.14.0 安装包,运行安装程序时务必勾选 "Add Python to PATH"。

方法三:通过 winget 安装

winget install Python.Python.3.14

5.3 安装后验证

py -0
py -3.14 --version

5.4 升级前备份依赖

在项目目录下执行:

pip freeze > requirements.txt

升级后恢复依赖:

py -3.14 -m pip install -r requirements.txt

5.5 为新版本安装第三方包

py -3.14 -m pip install 包名

6. Python 3.13 与 3.14 主要区别

特性Python 3.13Python 3.14
状态上一个主要版本当前最新稳定版本
自由线程 (Free-threading)实验性支持正式支持(PEP 779)
解释器实验性 JIT 编译器新型解释器,性能优化
主要新特性基础优化,移除部分弃用模块模板字符串 (t-strings)、延迟注解求值、concurrent.interpreters 模块

6.1 升级建议

  • 追求稳定和兼容性:继续使用 Python 3.13。
  • 需要新特性或尝鲜:升级到 Python 3.14,但需注意第三方库兼容性,并在升级前备份项目依赖。

7. py 与 python 的区别

7.1 基本定义

命令全称类型作用
pyPython Launcher(Python 启动器)独立的可执行程序(py.exe统一管理和启动多个 Python 版本
pythonPython 解释器指向某个具体版本的 python.exe启动特定版本的 Python 解释器

7.2 工作机制

py(Python Launcher)

  • 位置:C:\Windows\py.exe(系统级,安装 Python 时自动安装)
  • 工作方式:读取系统注册表中已注册的 Python 版本信息,根据用户指定的版本号启动对应的解释器
  • 版本选择逻辑:

    • py → 使用默认版本(py -0 中带 * 号的版本)
    • py -3.13 → 精确指定使用 Python 3.13
    • py -3 → 使用 Python 3 系列中最新的已注册版本
    • py -0py --list → 列出所有已注册版本

python

  • 位置:由 PATH 环境变量决定,指向某个具体目录下的 python.exe
  • 工作方式:直接执行 PATH 中第一个匹配的 python.exe 文件
  • 版本选择逻辑:

    • python → 使用 PATH 中优先级最高的 python.exe
    • python --version → 显示该解释器的版本号

7.3 实际示例对比

# py 启动器相关
py -0                    # 列出所有已注册的 Python 版本
py --version             # 显示当前默认 Python 版本
py -3.13 --version       # 使用 Python 3.13 并显示版本
py -3.13 script.py       # 用 Python 3.13 运行 script.py

# python 命令相关
python --version         # 显示 PATH 中第一个 python.exe 的版本
where python             # 查看 PATH 中所有 python.exe 的位置及优先级
python script.py         # 使用默认 Python 运行脚本

7.4 优先级与冲突

py 命令是系统级的(位于 C:\Windows\),不依赖 PATH 中的 Python 路径。无论 PATH 如何设置,py 命令始终可用。

python 命令由 PATH 变量控制。当输入 python 时,系统在 PATH 中从前到后搜索 python.exe,使用第一个找到的。因此 python 具体指向哪个版本,完全取决于 PATH 中各路径的排列顺序。

典型冲突场景:同时安装了 Anaconda 和官方 Python,且 Anaconda 的路径在 PATH 中排在官方 Python 之前,则:

python --version    # 可能显示 Anaconda 的 Python 版本
py -3.13 --version  # 始终正确显示 Python 3.13 版本

7.5 版本管理能力对比

功能pypython
列出所有已安装版本支持(py -0不支持
精确指定版本启动支持(py -3.13不支持
自动安装缺失版本支持(需设置 PYLAUNCHER_ALLOW_INSTALL不支持
受 PATH 顺序影响不受影响完全受影响
多版本并行管理理想工具不适用

7.6 使用建议

  • 日常开发:推荐优先使用 py 命令,尤其是在多版本共存的环境中。
  • 指定版本运行脚本:使用 py -3.13 script.py 而非 python script.py
  • 为特定版本安装包:使用 py -3.13 -m pip install 包名
  • 仅当只有一个 Python 版本且确定 PATH 正确时,可直接使用 python 命令。

7.7 快速对照表

需求使用命令
查看所有已安装版本py -0
查看默认版本py --versionpython --version(依赖 PATH)
使用 Python 3.13py -3.13
使用 Python 3.12py -3.12
查看 PATH 中的 Python 位置where python
查看某版本的安装位置py -3.13 -c "import sys; print(sys.executable)"
为某版本安装 pip 包py -3.13 -m pip install 包名

8. 多版本管理总结

命令作用
py -0列出所有已注册版本
pypy -3.13运行 Python 3.13
py -3.12运行 Python 3.12
py -3.14运行 Python 3.14(安装后)
python运行 PATH 中优先级最高的 Python
where python列出 PATH 中所有 python.exe

py 命令(Python Launcher)是 Windows 上管理多版本 Python 的推荐工具,它独立于 PATH 环境变量,可以精确指定版本。

标签: none

添加新评论