【Windows】Python 3.14 + UV 双环境D盘部署实战:系统级与项目级彻底分离 场景与痛点为什么我需要两套 Python 环境声明仅为个人开发喜好设置不建议全盘跟随Linux环境开发者更是可直接忽略。场景随着 Claude Code、Qoder 等 AI 智能体Agent深度融入日常开发我面临着两种截然不同的 Python 使用诉求AI 智能体的“系统级兜底”非Python 项目开发时智能体执行通用命令、运行辅助脚本/临时的数据处理脚本或调用系统工具时它们依赖的是一个稳定、全局可达的系统级 Python。这个环境必须干净、纯粹仅作为基础设施存在。人类开发者的“项目级隔离”当我们进行具体的 Python 项目开发时需要使用 UV 来管理独立的虚拟环境和依赖确保项目的可复现性与隔离性。本文的核心目标在 D 盘构建一套清晰的双层 Python 架构层级用途安装位置管理方式系统级 Python运行全局脚本、系统工具D:\app\Python\Python314官方安装器 直接pip项目级 Python各业务项目的隔离运行时D:\app\Python\UV\pythonUV 自动下载与管理官网 Python 作为系统级兜底专供 AI 智能体和全局脚本使用UV 负责项目开发全权接管项目级环境与解释器管理。两者互不干扰、均不占用 C 盘完美适配 AI 编程时代的开发工作流。一、系统级 Python 3.14 的 D 盘安装1.1 下载 Python 3.14前往 Python 官网 下载Python 3.14.x Windows installer (64-bit)。⚠️注意3.14 目前为预发布/早期版本生产环境请评估兼容性。本文以 3.14 为例演示完整流程其他版本操作完全一致。不要使用 Microsoft Store 版本Store 版强制写入 C 盘且路径不可控。1.2 自定义安装到 D 盘运行安装程序时勾选Add Python to PATH然后选择Customize installation配置项推荐值说明Install LocationD:\app\Python\Python314系统级 Python 本体Precompile standard library✅ 勾选加速首次 importpip / py launcher✅ 勾选基础工具链1.3 重定向 pip 缓存兜底配置虽然日常包管理将由 UV 接管但保留 pip 作为系统级兜底工具仍有必要。将其缓存也锚定到 D 盘New-Item -ItemType Directory -Force -Path D:\app\Python\Python314\pip | Out-Null; Set-Content -Path D:\app\Python\Python314\pip\pip.ini -Value [global]ncache-dir D:\app\Python\Python314\pip\cache -Encoding UTF8[Environment]::SetEnvironmentVariable(PIP_CONFIG_FILE,D:\app\Python\Python314\pip\pip.ini, User)1.4 验证系统级 Python重启终端后执行python --version # 预期: Python 3.14.x where python # 预期首条: D:\app\Python\Python314\python.exe确认无误后系统级 Python 即完成部署。此后不要再对它执行pip install安装业务依赖它仅用于运行全局工具和作为 UV 的后端。1.5 python下载流程截图参考二、UV 的 D 盘下载与全量配置UV 是这套双层架构的核心枢纽它既是一个独立的包管理器又是项目级 Python 解释器的自动下载器和虚拟环境管理者。2.1 下载并安装 UV 到 D 盘UV 官方推荐的安装命令会将二进制文件放到 C 盘。我们需要手动指定安装目录# 创建 UV 根目录 New-Item -ItemType Directory -Force -Path D:\app\Python\UV | Out-Null #通过环境变量指定安装目标再执行官方安装脚本 $env:UV_INSTALL_DIR D:\app\Python\UV irm https://astral.sh/uv/install.ps1 | iex #也可以powershell -ExecutionPolicy ByPass -c irm https://astral.sh/uv/install.ps1 | iex关键说明UV_INSTALL_DIR在安装脚本执行前设置会让安装器将uv.exe和uvx.exe直接放入D:\app\Python\UV\而非默认的%LOCALAPPDATA%\uv。这是实现 D 盘化的第一步也是最容易被忽略的一步。安装完成后先不要急着验证因为此时环境变量尚未持久化当前终端也找不到 uv 命令。继续执行下面的配置。2.2 持久化全部环境变量一键脚本以下 6 条命令必须全部执行它们分别控制 UV 不同子系统的路径缺一不可。全部为单行结构可直接全选复制粘贴# 1. 将 UV 二进制目录永久加入用户 PATH前置追加幂等安全 [Environment]::SetEnvironmentVariable(Path, D:\app\Python\UV; [Environment]::GetEnvironmentVariable(Path, User), User) # 2. 持久化安装目录确保 uv self update 仍更新到 D 盘 [Environment]::SetEnvironmentVariable(UV_INSTALL_DIR, D:\app\Python\UV, User) # 3. 包下载缓存目录 [Environment]::SetEnvironmentVariable(UV_CACHE_DIR, D:\app\Python\UV\cache, User) # 4. 工具元数据目录 [Environment]::SetEnvironmentVariable(UV_TOOL_DIR, D:\app\Python\UV\tools, User) # 5. 工具可执行文件入口目录 [Environment]::SetEnvironmentVariable(UV_TOOL_BIN_DIR, D:\app\Python\UV\bin, User) # 6. UV 托管的项目级 Python 解释器存放目录 [Environment]::SetEnvironmentVariable(UV_PYTHON_INSTALL_DIR, D:\app\Python\UV\python, User) 关于 PATH 重复追加的说明第 1 条命令没有做“是否已存在”的判断而是无条件前置追加。这是刻意设计[Environment]::SetEnvironmentVariable本身是幂等操作相同值重复写入无副作用。字符串模糊匹配如-notlike *UV*容易因大小写、末尾斜杠差异导致误判漏写。Windows PATH 解析从左到右首个命中即生效少量重复前缀不影响功能和性能。如需清理手动打开「系统属性 → 环境变量 → 用户 Path」编辑即可比脚本更安全。2.3 必须执行的生效步骤上述命令修改的是注册表中的用户环境变量对当前已打开的终端窗口不会立即生效。✅正确做法关闭所有 PowerShell / CMD / VSCode 终端 → 重新打开新窗口 → 验证。❌错误做法在当前窗口执行完直接测试或使用refreshenv等第三方工具不可靠。2.4 验证 UV 全量配置在新终端中执行uv --version echo $env:UV_INSTALL_DIR echo $env:UV_CACHE_DIR echo $env:UV_TOOL_DIR echo $env:UV_TOOL_BIN_DIR echo $env:UV_PYTHON_INSTALL_DIR预期输出uv 0.11.29 (901092ee1 2026-07-15 x86_64-pc-windows-msvc) D:\app\Python\UV D:\app\Python\UV\cache D:\app\Python\UV\tools D:\app\Python\UV\bin D:\app\Python\UV\python6 项全部输出 D 盘路径UV 的 D 盘化配置即宣告完成。三、双环境的日常使用规范配置完成后两套环境的职责边界如下请严格遵守以避免再次混乱3.1 系统级 Python只做两件事# ✅ 运行不依赖特定版本的独立脚本 python D:\scripts\backup.py ✅ 升级 UV 自身UV 是系统级工具 uv self update# ❌ 禁止不要用系统 Python 安装业务依赖 pip install requests flask numpy # 绝对不要这样做3.2 项目级 Python一切由 UV 代理# 进入项目目录 cd D:\projects\my-web-app 初始化项目自动创建 pyproject.toml .venv uv init 添加依赖自动下载到 D:\app\Python\UV\cache链接到项目 .venv uv add fastapi uvicorn 如果项目需要特定 Python 版本UV 会自动下载到 D:\app\Python\UV\python\ uv python pin 3.12 运行项目自动激活 .venv uv run python main.py 安装全局开发工具元数据→tools入口→bin均在 D 盘 uv tool install ruff uv tool install pytest为了帮你更轻松地“分清两套环境”这里提供一个无侵入式的快速自检技巧。你不需要记任何额外规则只需在终端里养成一个肌肉记忆3.3 一秒确认当前 UV 身份在执行关键命令前随手敲一下where.exe uv✅安全第一行是D:\app\Python\UV\uv.exe→ 放心使用uv self update、uv add等所有命令。❌误装第一行是D:\app\Python\Python314\Scripts\uv.exe→ 立即停止操作执行python -m pip uninstall uv -y清理。提示where.exe会列出 PATH 中所有匹配的 uv。只要确保第一行即系统实际调用的那个是你 D 盘的独立版本即可。即使 Scripts 目录下意外残留了旧文件只要它不在 PATH 首位就不会被触发。3.4 你的最终环境心智模型当我想做...我用什么命令背后调用的是跑智能体脚本 / 系统级工具python xxx.pyD:\app\Python\Python314\python.exe创建/管理项目 / 装依赖uv init/uv add/uv runD:\app\Python\UV\uv.exe升级 UV 本身uv self updateD:\app\Python\UV\uv.exe给系统 Python 装全局工具极少用pip install xxxD:\app\Python\Python314\Scripts\pip.exe只要记住这张表两套环境就各司其职、互不干扰。核心原则凡是与具体python项目相关的操作一律使用uv命令只有与项目无关的系统级操作才直接使用python。四、最终目录结构与效果总览完成全部配置后D 盘的 Python 生态布局如下D:\app\Python\ ├── Python314\ ← 系统级 Python 3.14AI 智能体兜底 │ ├── python.exe ← 智能体调用入口 │ ├── Scripts\ │ ├── Lib\ │ └── pip\ ← pip 配置与缓存内聚于本体 │ ├── pip.ini ← 重定向缓存路径配置 │ └── cache\ ← pip 兜底下载缓存 └── UV\ ← UV 全量数据根目录项目级管理 ├── uv.exe ← UV 二进制 ├── cache\ ← 包下载缓存 ├── tools\ ← 全局工具元数据 ├── bin\ ← 全局工具可执行入口 └── python\ ← UV 托管的项目级解释器 ├── cpython-3.12.x\ └── cpython-3.13.x\维度传统单环境模式本文双环境模式系统 Python 纯净度❌ 被业务依赖污染✅ 仅含标准库 UV项目环境隔离性❌ 手动 venv 易遗漏✅ UV 自动管理强制隔离C 盘占用数 GB ~ 数十 GB≈ 0多版本切换手动下载安装uv python pin一行搞定可迁移性❌ 需重装✅ 整个 D:\app\Python 拷贝即用新人上手成本高理解 venv/pip/conda低只需记住 uv 命令这套架构的核心思想是系统级环境提供稳定的基础设施项目级环境通过 UV 实现按需、隔离、可复现的运行时。两者在物理路径和管理逻辑上完全分离从根源上杜绝了环境混乱和 C 盘膨胀的问题。收藏提示建议将 2.2 节的一键配置脚本保存为setup-uv-d.ps1配合 UV 安装命令一起存档新机器部署时几分钟即可完成全部配置。如果本文对你有帮助欢迎点赞收藏⭐关注三连支持有问题欢迎评论区交流参考文章2026年Python3.14.x安装与环境配置保姆级教程Windows版_python3.14安装教程-CSDN博客2026最新保姆级教程Windows 下使用 uv 从零配置 Python (OpenCV) 环境指南_uv windows-CSDN博客uv入门笔记_uv安装在哪里盘-CSDN博客使用 uv 在 Windows 上快速搭建 Python 开发环境 - kafpa的文章 - 知乎https://zhuanlan.zhihu.com/p/1957869987403367529UV存储位置https://docs.astral.sh/uv/reference/storage/