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博客?