【深度探索】Windows 下 Python 多版本虚拟环境管理与隔离实战:支持 Anaconda、Poetry、Pipenv、venv、uv、Hatch、PyCharm、VS Code 全工具链方案-CSDN博客
Windows Python 环境管理终极对比:极简方案 VS 传统方案(仅需 2 个软件实现全流程自动化)-CSDN博客
【补充笔记】文字流程图:Windows 系统 Python 多级环境管理方案-CSDN博客
Windows 系统 Python 虚拟环境管理工具路径(Poetry、Pipenv、venv、uv、Hatch)树状结构管理指南
一、 创建各 python 版本的基础环境
相当于为系统安装了不同的 python 版本 ,但统一度更高,灵活性更强。
二、为每个 python 版本分别安装环境管理工具
# 在每个环境中安装所有工具(使用 pip 获取最新版本)
pip install poetry virtualenv pipenv uv hatch
# 验证安装
poetry --version # 应输出 2.3.1+
virtualenv --version
三、知晓关键工具路径(重要!)
# Windows 查看路径命令
where python # Python 解释器路径
where poetry # Poetry 路径
where virtualenv # virtualenv 路径
where pipenv # Pipenv 路径
where uv # uv 路径
where hatch # Hatch 路径
四、Anaconda/Miniconda 工具链(Poetry、Pipenv、venv、uv、Hatch)路径树状结构图
Anaconda 环境(基础路径:D:\ProgramData\anaconda3)
├─ base 环境(默认 Python 版本)
│ ├─ python.exe: D:\ProgramData\anaconda3\python.exe
│ ├─ 工具路径: D:\ProgramData\anaconda3\Scripts\
│ │ ├─ poetry.exe: D:\ProgramData\anaconda3\Scripts\poetry.exe
│ │ ├─ virtualenv.exe: D:\ProgramData\anaconda3\Scripts\virtualenv.exe
│ │ ├─ pipenv.exe: D:\ProgramData\anaconda3\Scripts\pipenv.exe
│ │ ├─ uv.exe: D:\ProgramData\anaconda3\Scripts\uv.exe
│ │ └─ hatch.exe: D:\ProgramData\anaconda3\Scripts\hatch.exe
│ ├─ PyCharm解释器路径: D:\ProgramData\anaconda3\python.exe
│ └─ 终端命令示例:
│ ├─ poetry: "D:\ProgramData\anaconda3\Scripts\poetry.exe" init
│ ├─ virtualenv: "D:\ProgramData\anaconda3\python.exe" -m virtualenv .venv
│ ├─ pipenv: "D:\ProgramData\anaconda3\Scripts\pipenv.exe" install requests
│ ├─ uv: "D:\ProgramData\anaconda3\Scripts\uv.exe" new .venv
│ └─ hatch: "D:\ProgramData\anaconda3\Scripts\hatch.exe" env create
│
├─ 环境路径(D:\ProgramData\anaconda3\envs\)
│ ├─ python39 环境(Python 3.9)
│ │ ├─ python.exe: D:\ProgramData\anaconda3\envs\python39\python.exe
│ │ ├─ 工具路径: D:\ProgramData\anaconda3\envs\python39\Scripts\
│ │ │ ├─ poetry.exe: D:\ProgramData\anaconda3\envs\python39\Scripts\poetry.exe
│ │ │ ├─ virtualenv.exe: D:\ProgramData\anaconda3\envs\python39\Scripts\virtualenv.exe
│ │ │ ├─ pipenv.exe: D:\ProgramData\anaconda3\envs\python39\Scripts\pipenv.exe
│ │ │ ├─ uv.exe: D:\ProgramData\anaconda3\envs\python39\Scripts\uv.exe
│ │ │ └─ hatch.exe: D:\ProgramData\anaconda3\envs\python39\Scripts\hatch.exe
│ │ ├─ PyCharm解释器路径: D:\ProgramData\anaconda3\envs\python39\python.exe
│ │ └─ 终端命令示例:
│ │ ├─ poetry: "D:\ProgramData\anaconda3\envs\python39\Scripts\poetry.exe" init
│ │ ├─ virtualenv: "D:\ProgramData\anaconda3\envs\python39\python.exe" -m virtualenv .venv
│ │ ├─ pipenv: "D:\ProgramData\anaconda3\envs\python39\Scripts\pipenv.exe" install requests
│ │ ├─ uv: "D:\ProgramData\anaconda3\envs\python39\Scripts\uv.exe" new .venv
│ │ └─ hatch: "D:\ProgramData\anaconda3\envs\python39\Scripts\hatch.exe" env create
│ │
│ ├─ python310 环境(Python 3.10)
│ │ ├─ python.exe: D:\ProgramData\anaconda3\envs\python310\python.exe
│ │ ├─ 工具路径: D:\ProgramData\anaconda3\envs\python310\Scripts\
│ │ │ ├─ poetry.exe: D:\ProgramData\anaconda3\envs\python310\Scripts\poetry.exe
│ │ │ ├─ virtualenv.exe: D:\ProgramData\anaconda3\envs\python310\Scripts\virtualenv.exe
│ │ │ ├─ pipenv.exe: D:\ProgramData\anaconda3\envs\python310\Scripts\pipenv.exe
│ │ │ ├─ uv.exe: D:\ProgramData\anaconda3\envs\python310\Scripts\uv.exe
│ │ │ └─ hatch.exe: D:\ProgramData\anaconda3\envs\python310\Scripts\hatch.exe
│ │ ├─ PyCharm解释器路径: D:\ProgramData\anaconda3\envs\python310\python.exe
│ │ └─ 终端命令示例:
│ │ ├─ poetry: "D:\ProgramData\anaconda3\envs\python310\Scripts\poetry.exe" init
│ │ ├─ virtualenv: "D:\ProgramData\anaconda3\envs\python310\python.exe" -m virtualenv .venv
│ │ ├─ pipenv: "D:\ProgramData\anaconda3\envs\python310\Scripts\pipenv.exe" install requests
│ │ ├─ uv: "D:\ProgramData\anaconda3\envs\python310\Scripts\uv.exe" new .venv
│ │ └─ hatch: "D:\ProgramData\anaconda3\envs\python310\Scripts\hatch.exe" env create
│ │
│ ├─ python311 环境(Python 3.11)
│ │ ├─ python.exe: D:\ProgramData\anaconda3\envs\python311\python.exe
│ │ ├─ 工具路径: D:\ProgramData\anaconda3\envs\python311\Scripts\
│ │ │ ├─ poetry.exe: D:\ProgramData\anaconda3\envs\python311\Scripts\poetry.exe
│ │ │ ├─ virtualenv.exe: D:\ProgramData\anaconda3\envs\python311\Scripts\virtualenv.exe
│ │ │ ├─ pipenv.exe: D:\ProgramData\anaconda3\envs\python311\Scripts\pipenv.exe
│ │ │ ├─ uv.exe: D:\ProgramData\anaconda3\envs\python311\Scripts\uv.exe
│ │ │ └─ hatch.exe: D:\ProgramData\anaconda3\envs\python311\Scripts\hatch.exe
│ │ ├─ PyCharm解释器路径: D:\ProgramData\anaconda3\envs\python311\python.exe
│ │ └─ 终端命令示例:
│ │ ├─ poetry: "D:\ProgramData\anaconda3\envs\python311\Scripts\poetry.exe" init
│ │ ├─ virtualenv: "D:\ProgramData\anaconda3\envs\python311\python.exe" -m virtualenv .venv
│ │ ├─ pipenv: "D:\ProgramData\anaconda3\envs\python311\Scripts\pipenv.exe" install requests
│ │ ├─ uv: "D:\ProgramData\anaconda3\envs\python311\Scripts\uv.exe" new .venv
│ │ └─ hatch: "D:\ProgramData\anaconda3\envs\python311\Scripts\hatch.exe" env create
│ │
│ ├─ python312 环境(Python 3.12)
│ │ ├─ python.exe: D:\ProgramData\anaconda3\envs\python312\python.exe
│ │ ├─ 工具路径: D:\ProgramData\anaconda3\envs\python312\Scripts\
│ │ │ ├─ poetry.exe: D:\ProgramData\anaconda3\envs\python312\Scripts\poetry.exe
│ │ │ ├─ virtualenv.exe: D:\ProgramData\anaconda3\envs\python312\Scripts\virtualenv.exe
│ │ │ ├─ pipenv.exe: D:\ProgramData\anaconda3\envs\python312\Scripts\pipenv.exe
│ │ │ ├─ uv.exe: D:\ProgramData\anaconda3\envs\python312\Scripts\uv.exe
│ │ │ └─ hatch.exe: D:\ProgramData\anaconda3\envs\python312\Scripts\hatch.exe
│ │ ├─ PyCharm解释器路径: D:\ProgramData\anaconda3\envs\python312\python.exe
│ │ └─ 终端命令示例:
│ │ ├─ poetry: "D:\ProgramData\anaconda3\envs\python312\Scripts\poetry.exe" init
│ │ ├─ virtualenv: "D:\ProgramData\anaconda3\envs\python312\python.exe" -m virtualenv .venv
│ │ ├─ pipenv: "D:\ProgramData\anaconda3\envs\python312\Scripts\pipenv.exe" install requests
│ │ ├─ uv: "D:\ProgramData\anaconda3\envs\python312\Scripts\uv.exe" new .venv
│ │ └─ hatch: "D:\ProgramData\anaconda3\envs\python312\Scripts\hatch.exe" env create
│ │
│ └─ python313 环境(Python 3.13)
│ ├─ python.exe: D:\ProgramData\anaconda3\envs\python313\python.exe
│ ├─ 工具路径: D:\ProgramData\anaconda3\envs\python313\Scripts\
│ │ ├─ poetry.exe: D:\ProgramData\anaconda3\envs\python313\Scripts\poetry.exe
│ │ ├─ virtualenv.exe: D:\ProgramData\anaconda3\envs\python313\Scripts\virtualenv.exe
│ │ ├─ pipenv.exe: D:\ProgramData\anaconda3\envs\python313\Scripts\pipenv.exe
│ │ ├─ uv.exe: D:\ProgramData\anaconda3\envs\python313\Scripts\uv.exe
│ │ └─ hatch.exe: D:\ProgramData\anaconda3\envs\python313\Scripts\hatch.exe
│ ├─ PyCharm解释器路径: D:\ProgramData\anaconda3\envs\python313\python.exe
│ └─ 终端命令示例:
│ ├─ poetry: "D:\ProgramData\anaconda3\envs\python313\Scripts\poetry.exe" init
│ ├─ virtualenv: "D:\ProgramData\anaconda3\envs\python313\python.exe" -m virtualenv .venv
│ ├─ pipenv: "D:\ProgramData\anaconda3\envs\python313\Scripts\pipenv.exe" install requests
│ ├─ uv: "D:\ProgramData\anaconda3\envs\python313\Scripts\uv.exe" new .venv
│ └─ hatch: "D:\ProgramData\anaconda3\envs\python313\Scripts\hatch.exe" env create
│
五、工具路径在 PyCharm 中创建虚拟环境的使用示例
以基础解释器 python=3.11 版举例,示例 Poetry、Pipenv、venv、uv、Hatch 环境的创建(路径的使用)
以下所需路径均可让 PyCharm 自动识别 或 手动指定(未识别到的情况下)
(一) Poetry 环境的创建
所需路径:
基础 Python 路径:
D:\ProgramData\anaconda3\envs\python311\python.exe
poetry 的路径:
D:\ProgramData\anaconda3\envs\python311\Scripts\poetry.exe
(二) Pipenv 环境的创建
所需路径:
基础 Python 路径:
D:\ProgramData\anaconda3\envs\python311\python.exe
Pipenv 的路径:
D:\ProgramData\anaconda3\envs\python311\Scripts\pipenv.exe
(三)Virtualenv 环境的创建
所需路径:
基础 Python 路径:
D:\ProgramData\anaconda3\envs\python311\python.exe
记得要勾选“从基础解释器继承软件包”,以使项目内 .venv 能继承完整的 python3.11 基础工具链 ,而非另行安装。
(四) uv 环境的创建
所需路径:
基础 Python 路径:
D:\ProgramData\anaconda3\envs\python311\python.exe
uv 的路径:
D:\ProgramData\anaconda3\envs\python311\Scripts\uv.exe
(五)Hatch 环境的创建
所需路径:
Hatch 的路径:
D:\ProgramData\anaconda3\envs\python311\Scripts\hatch.exe
基础 Python 路径:
D:\ProgramData\anaconda3\envs\python311\python.exe