Windows11Python环境管理
Windows 11 Python 环境管理笔记
1. 查看 Python 版本
1.1 基本命令
python --version
python -V1.2 查看所有已安装版本(通过 Python 启动器)
py -0该命令列出系统中所有已注册的 Python 版本,带 * 号表示 py 命令的默认版本。
1.3 查看特定版本
py -3.13 --version
py -3.12 --version2. 查看 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.exe3.1 当前已安装版本
| 版本 | 安装路径 | 来源 |
|---|---|---|
| Python 3.13 | C:\Users\Administrator\AppData\Local\Programs\Python\Python313\ | 官网安装包 |
| Python 3.12 | C:\Users\Administrator\AppData\Local\Programs\Python\Python312\ | 官网安装包 |
| Anaconda Python | G:\ProgramFiles\anaconda3\python.exe | Anaconda 发行版 |
3.2 PATH 优先级分析
where python 的输出顺序即为 PATH 中的优先级顺序:
G:\ProgramFiles\anaconda3\python.exe(当前最高优先级)C:\Users\Administrator\AppData\Local\Programs\Python\Python313\python.exeC:\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 操作步骤
- 按
Win + R,输入sysdm.cpl,回车。 - 切换到"高级"选项卡,点击"环境变量"。
- 在"用户变量"或"系统变量"区域找到
Path变量,双击编辑。 将 Python 3.13 相关路径上移至 Anaconda 路径之前:
C:\Users\Administrator\AppData\Local\Programs\Python\Python313\C:\Users\Administrator\AppData\Local\Programs\Python\Python313\Scripts\(如存在)
- 点击"确定"保存所有窗口。
- 关闭所有已打开的命令行窗口,重新打开一个新的。
验证结果:
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.145.3 安装后验证
py -0
py -3.14 --version5.4 升级前备份依赖
在项目目录下执行:
pip freeze > requirements.txt升级后恢复依赖:
py -3.14 -m pip install -r requirements.txt5.5 为新版本安装第三方包
py -3.14 -m pip install 包名6. Python 3.13 与 3.14 主要区别
| 特性 | Python 3.13 | Python 3.14 |
|---|---|---|
| 状态 | 上一个主要版本 | 当前最新稳定版本 |
| 自由线程 (Free-threading) | 实验性支持 | 正式支持(PEP 779) |
| 解释器 | 实验性 JIT 编译器 | 新型解释器,性能优化 |
| 主要新特性 | 基础优化,移除部分弃用模块 | 模板字符串 (t-strings)、延迟注解求值、concurrent.interpreters 模块 |
6.1 升级建议
- 追求稳定和兼容性:继续使用 Python 3.13。
- 需要新特性或尝鲜:升级到 Python 3.14,但需注意第三方库兼容性,并在升级前备份项目依赖。
7. py 与 python 的区别
7.1 基本定义
| 命令 | 全称 | 类型 | 作用 |
|---|---|---|---|
py | Python Launcher(Python 启动器) | 独立的可执行程序(py.exe) | 统一管理和启动多个 Python 版本 |
python | Python 解释器 | 指向某个具体版本的 python.exe | 启动特定版本的 Python 解释器 |
7.2 工作机制
py(Python Launcher)
- 位置:
C:\Windows\py.exe(系统级,安装 Python 时自动安装) - 工作方式:读取系统注册表中已注册的 Python 版本信息,根据用户指定的版本号启动对应的解释器
版本选择逻辑:
py→ 使用默认版本(py -0中带*号的版本)py -3.13→ 精确指定使用 Python 3.13py -3→ 使用 Python 3 系列中最新的已注册版本py -0或py --list→ 列出所有已注册版本
python
- 位置:由 PATH 环境变量决定,指向某个具体目录下的
python.exe - 工作方式:直接执行 PATH 中第一个匹配的
python.exe文件 版本选择逻辑:
python→ 使用 PATH 中优先级最高的python.exepython --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 版本管理能力对比
| 功能 | py | python |
|---|---|---|
| 列出所有已安装版本 | 支持(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 --version 或 python --version(依赖 PATH) |
| 使用 Python 3.13 | py -3.13 |
| 使用 Python 3.12 | py -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 | 列出所有已注册版本 |
py 或 py -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 环境变量,可以精确指定版本。