Python 多版本环境治理理念驱动的系统架构设计:三维治理、四级隔离、五项自治 原则-CSDN博客
Python 多版本与开发环境治理架构设计-CSDN博客
【终极实战】Conda/Poetry/Virtualenv/Pipenv/Hatch 多工具协同 + Anaconda×PyCharm:构建 Python 全版本栈隔离体系与虚拟环境自动化管理指南-CSDN博客
Python 多版本开发环境治理:理论架构与实践-CSDN博客
Python 多版本治理理念(Windows 平台 · 零基础友好)-CSDN博客
使用 Conda 工具链创建 Poetry 本地虚拟环境全记录——基于《Python 多版本与开发环境治理架构设计》_windows poetry conda 创建一个项目,项目使用poetry的虚拟环境,虚拟环境在项-CSDN博客
【理念●体系】路径治理篇:打造可控、可迁移、可复现的 AI 开发路径结构-CSDN博客
Python 虚拟环境与构建工具全景指南:功能介绍与对比分析-CSDN博客
《Anaconda 精简路径治理》系列 · 番外篇:路径结构推荐方案全解-CSDN博客
使用 Conda 工具链创建 UV 本地虚拟环境全记录
——基于《Python 多版本与开发环境治理架构设计》
✅ 本文目标:创建一个完全本地化、可迁移、可复现的
.venv
项目环境,并实现 UV 工具链的自包含管理。
🔍 本方案适用于追求:
工具链隔离、自包含
.venv
构建环境可迁移 / 可打包 / 跨 IDE 可复现
基于 Conda 提供 Python 多版本基础但避免污染项目结构
一、环境前提说明
✅ 操作系统:Windows 11
✅ Conda 环境根目录:
D:\Conda\
✅ 当前使用 Python 版本:3.12.11
✅ Conda 环境名:
py312
✅ 项目路径:
F:\PythonProjects\Win_ComfyUI
该项目将使用 Conda 的 Python 解释器,配合 uv
工具,创建 .venv
虚拟环境并实现工具链本地化。
Conda 环境名:py312 工具链路径树状图示
├─ 环境路径(D:\Conda\envs\py312\)
│ └─ py312 环境(Python 3.12.11)
│ ├─ python.exe: D:\Conda\envs\py312\python.exe
│ ├─ 工具路径: D:\Conda\envs\py312\Scripts\
│ │ ├─ poetry.exe: D:\Conda\envs\py312\Scripts\poetry.exe
│ │ ├─ virtualenv.exe: D:\Conda\envs\py312\Scripts\virtualenv.exe
│ │ ├─ pipenv.exe: D:\Conda\envs\py312\Scripts\pipenv.exe
│ │ ├─ uv.exe: D:\Conda\envs\py312\Scripts\uv.exe <===> uv 环境管理工具在这里
│ │ └─ hatch.exe: D:\Conda\envs\py312\Scripts\hatch.exe
│ ├─ PyCharm解释器路径: D:\Conda\envs\py312\python.exe
│ └─ 终端命令示例:
│ ├─ poetry: "D:\Conda\envs\py312\Scripts\poetry.exe" init
│ ├─ virtualenv: "D:\Conda\envs\py312\python.exe" -m virtualenv .venv
│ ├─ pipenv: "D:\Conda\envs\py312\Scripts\pipenv.exe" install requests
│ ├─ uv: "D:\Conda\envs\py312\Scripts\uv.exe" new .venv
│ └─ hatch: "D:\Conda\envs\py312\Scripts\hatch.exe" env create
二、创建本地 .venv
虚拟环境
确保激活 py312
环境后,进入项目路径并执行:
conda activate py312
uv venv .venv
这将在项目目录下创建一个本地 .venv
文件夹,并自动激活。
验证当前 Python 解释器来源:
where python
输出应类似:
F:\PythonProjects\Win_ComfyUI\.venv\Scripts\python.exe
D:\Conda\envs\py312\python.exe
...(其他路径略)
✅ 首位为 .venv
表示本地虚拟环境创建成功。
三、检查 uv 工具链路径来源
接下来查看当前系统中 uv
的来源:
where uv
输出类似:
D:\Conda\envs\py308\Scripts\uv.exe
D:\Conda\envs\py309\Scripts\uv.exe
...
D:\Conda\envs\py312\Scripts\uv.exe
此时 uv
仍是 Conda 全局安装的版本,不具备本地化特性。
四、实现 uv 工具链的本地化安装
为实现 .venv
工具链的自包含,我们在该虚拟环境中再次安装 uv 本体:
uv pip install uv
🔄 安装完毕后,再次运行:
where uv
输出首行为:
F:\PythonProjects\Win_ComfyUI\.venv\Scripts\uv.exe
...(其余仍为全局 Conda 环境)
查看版本验证是否为本地调用:
uv -V
输出示例:
uv 0.8.0 (0b2357294 2025-07-17)
✅ 此时,uv.exe
已实现 完全本地化封装,确保无 Conda 依赖!
五、路径结构示意图(文本版)
F:\PythonProjects\Win_ComfyUI\
├── .venv\
│ ├── Scripts\
│ │ ├── python.exe
│ │ └── uv.exe ← 本地化工具链
│ └── Lib\
│ └── site-packages\
│ └── uv\ ← 本地安装包
├── pyproject.toml(如需)
└── 项目代码...
六、.venv + UV 本地化的优势总结
特性 | 效果说明 |
---|---|
✅ 自包含工具链 | .venv\Scripts\uv.exe 可独立运行 |
✅ 可迁移 | 拷贝整个项目文件夹即可复现环境 |
✅ 跨 IDE 复现一致 | 不依赖系统环境变量或 Conda 激活 |
✅ 简洁结构 | 无复杂 Conda 缓存与多级路径干扰 |
✅ CI/CD 支持 | 适合打包、构建、部署流程 |
七、对比结构参考:Conda 工具链布局回顾
以下为 D:\Conda\envs\py312
下的完整构建工具布局,供参考对比:
├─ 环境路径(D:\Conda\envs\py312\)
│ └─ py312 环境(Python 3.12.11)
│ ├─ python.exe
│ ├─ Scripts\
│ │ ├─ poetry.exe
│ │ ├─ virtualenv.exe
│ │ ├─ pipenv.exe
│ │ ├─ uv.exe
│ │ └─ hatch.exe
│ ├─ PyCharm解释器路径: D:\Conda\envs\py312\python.exe
│ └─ 常用命令示例:
│ ├─ poetry: "...\Scripts\poetry.exe" init
│ ├─ virtualenv: python -m virtualenv .venv
│ ├─ pipenv: pipenv install requests
│ ├─ uv: uv new .venv
│ └─ hatch: hatch env create
而我们的 .venv
项目结构中,不依赖这些全局工具,全部自包含在项目目录。
八、结语
UV 作为新一代 Python 构建工具,不仅速度快、功能全,而且支持现代项目管理标准。结合 .venv
的路径治理理念,能在不依赖 Conda 的前提下构建出:
✅ 快速创建 → ✅ 工具自包含 → ✅ 可复制迁移 → ✅ 多 IDE 无差异调用
这一实践值得推广,也适用于教学部署、开源分发、跨平台封装等场景。
《Anaconda 精简路径治理》系列 · 番外篇Conda 虚拟环境路径结构方案全解——六种路径布局对比、优劣与治理建议-CSDN博客
Anaconda 路径精简后暴露 python 及工具到环境变量的配置记录 [二]-CSDN博客
【实践篇】基于.venv 的 ComfyUI 环境同配置迁移:pyvenv.cfg 路径修改法-CSDN博客