【EPGF 白皮书】路径治理驱动的多版本 Python 架构—— Windows 环境治理与 AI 教学开发体系

EPGF 新手教程 00一次搭好、终身不乱:Windows Python 环境治理(EPGF)系列总览 / 阅读路线图

EPGF 新手教程 01为什么 EPGF 能在一台 Windows 上,搞定所有虚拟环境?——一次搭好,终身不乱的 Python 环境治理逻辑(新手也能看懂)

EPGF 新手教程 02第一次安装就不踩坑:Anaconda 正确安装与路径一次性治理——把 Python 安装在 D:\A,从此不再折腾环境变量

EPGF 新手教程 03不用重装、不用记命令在一台 Windows 上创建多个 Python 版本(全图形界面)

EPGF 新手教程 04一个项目一个环境:PyCharm 是如何帮你“自动隔离”的?(全 GUI,新手零命令)

EPGF 新手教程 05项目已经隔离了,为什么环境还是会乱?——被 90% 新手忽略的“工具污染”,才是真正的隐形杀手

EPGF 新手教程 06一次安装,全局可用:为什么工具要“住进 Python 版本里”?

EPGF 新手教程 07所有“虚拟环境工具”到底是什么?——一次看懂 venv / virtualenv / conda / uv / poetry / hatch(不再混乱)

EPGF 新手教程 08一次装齐所有工具链,为什么必须跟着 Python 版本走?——工具本地化,才是 Windows 上永不混乱的终极解法(新手必读)

EPGF 新手教程 09|工具本地化:为什么项目必须自带工具链?——只有 .venv 真正“自给自足”,环境才能迁移、复现、长期不乱(新手必读)

EPGF 新手教程 10|virtualenv:PyCharm 是如何创建第一个“真正自包含”的项目环境的?

EPGF 新手教程 11在 PyCharm(中文版 GUI)中创建 uv 环境,并把 uv 做到“项目自包含”(工具本地化为必做环节)

EPGF 新手教程 12在 PyCharm(中文版 GUI)中创建 Poetry 项目环境,并把 Poetry 做成“项目自包含”(工具本地化为必做环节)

为什么 hatch 和 pipenv 在 PyCharm 里“行为异常”?——EPGF 架构下的工具真实定位与责任边界(认知纠偏篇)

EPGF 新手教程 13在 PyCharm(中文版 GUI)中创建 Hatch 项目环境,并把 Hatch 做成“项目自包含”(工具本地化为必做环节)

EPGF 新手教程 14Pipenv 的默认行为与 Windows 环境治理冲突分析

EPGF 新手教程 15工具这么多,我该选哪个?——在 EPGF 架构下做出“不会后悔”的选择

EPGF 新手教程 16 构建工具本地化全景篇:为什么“装了≠属于项目”?

EPGF 新手教程 17 IDE 不是环境:PyCharm / VS Code 与真实 Python 运行时的边界澄清——EPGF 架构中的「执行责任」与「认知纠偏」篇

EPGF 新手教程 18 到底是谁在运行你的 Python 代码?——从 IDE 点击 Run 到字节码执行的完整链路拆解(EPGF 执行真相篇)

EPGF 新手教程 19 为什么 EPGF 必须「先建 .venv,再谈工具」?——项目级环境先行,是一切可迁移与可复现的工程前提

EPGF 新手教程 20一次打包带走:EPGF 项目如何实现「整目录迁移 + 原样复现」?

EPGF 新手教程 21把“环境折磨”从课堂中彻底移除:EPGF 如何重构 AI / Python 教学环境?

EPGF 新手教程 22教学模板不是压缩包:EPGF 如何设计“可复制、可检查、可回收”的课程模板?

EPGF 新手教程 23学生端一键复现流程:从老师发你一个文件夹开始,你只需要这几步

这一篇我们稳稳地落在 EPGF 的“教学落地核心”位置上来写,不再讲零散技巧,而是把我们前面 01–23 篇已经铺好的能力真正“工程化”

下面是 正文


EPGF 新手教程 24

教学模板工程是如何制作的?——教师端一次设计,学生端无限复现

副标题:从“我这能跑”到“全班都能跑”,EPGF 如何把教学环境变成工程资产


一、为什么“教学模板工程”是 EPGF 教学体系的核心?

在真实教学中,教师面临的不是“我能不能搭好环境”,而是:

  • 30 台学生电脑,30 种环境状态

  • ❌ 学生系统版本不同、Python 路径混乱

  • ❌ 课堂时间被环境问题吞噬

  • ❌ 作业无法复现,助教无法统一验收

EPGF 的目标从一开始就不是“个人开发舒适度”,而是:

👉 把教学环境,变成一种可复制、可分发、可验收的工程模板

这正是 教学模板工程(Teaching Template Project) 存在的意义。


二、EPGF 教学模板工程的设计目标

一个合格的 EPGF 教学模板工程,必须同时满足:

1️⃣ 跟随项目,而不是跟随机器

  • 不依赖 C 盘

  • 不依赖用户目录

  • 不依赖“老师电脑状态”

👉 项目目录就是全部上下文


2️⃣ 一次设计,多届复用

  • 本学期

  • 下学期

  • 换老师

  • 换实验室

👉 模板不“老化”,只会被“复刻”


3️⃣ 学生端只做“执行”,不做“决策”

  • 不让学生选择 Python

  • 不让学生判断版本

  • 不让学生配置工具

👉 学生只负责:打开 → 运行 → 验证


三、教学模板工程在 EPGF 中的层级位置

我们先明确它在 EPGF 架构中的位置

EPGF 教学体系(教师视角)

┌─ 父级 Python(Conda / py3xx)
│
├─ 教师模板工程(本篇)
│   ├─ .venv/                  ← 项目级虚拟环境
│   ├─ pyproject.toml / lock    ← 依赖定义
│   ├─ tools/ 或 scripts/       ← 教学辅助脚本
│   ├─ README.md                ← 学生操作说明
│   └─ verify_env.py            ← 环境自检脚本
│
└─ 学生端一键复现(第23篇)

📌 关键认知

教学模板工程 =
“已经做完所有决策的项目环境快照”


四、教师端制作教学模板工程的完整流程

下面是你作为教师,实际要做的事情


Step 1:确定教学所用 Python 版本(父级)

在 EPGF 中,教师端永远先从父级 Python 开始

示例:

D:\A\envs\py311\python.exe

你要做的不是“让学生装这个”,而是:

👉 让模板工程明确绑定这个版本


Step 2:创建教学模板工程目录

建议规范命名:

AI-Course-Template/
├─ .venv/
├─ src/
├─ data/
├─ README.md
└─ verify_env.py

📌 原则:

  • 一个课程 / 一类实验 = 一个模板工程

  • 不混用、不拼凑


Step 3:在 PyCharm 中创建项目级 .venv

关键点(非常重要):

  • 使用 PyCharm GUI

  • 环境类型:Virtualenv / uv / poetry(按课程需求)

  • Python 来源:指向父级 py3xx

示例:

Python 解释器:
D:\A\envs\py311\python.exe

📌 此时 .venv 已经:

  • 跟随项目

  • 可迁移

  • 可被学生端完整复现


Step 4:工具本地化(教师端必须完成)

这是 EPGF 教学模板与普通项目的分水岭

正确做法:

PyCharm 自动激活的终端中

pip install uv
pip install poetry
pip install pipenv

(按你课程使用的工具)

📌 结果必须满足:

AI-Course-Template/
└─ .venv/
   └─ Scripts/
      ├─ python.exe
      ├─ uv.exe
      ├─ poetry.exe
      └─ pipenv.exe

👉 工具链完全自包含


Step 5:冻结依赖(这是“教学合同”)

你需要为学生准备明确的依赖锁定文件

  • requirements.txt

  • uv.lock

  • poetry.lock

  • Pipfile.lock

📌 教学环境 ≠ 灵活
📌 教学环境 = 确定性


Step 6:加入“环境自检脚本”(强烈建议)

示例:verify_env.py

import sys
import subprocess

print("Python:", sys.executable)
print("Version:", sys.version)

for tool in ["uv", "poetry", "pipenv"]:
    try:
        subprocess.run([tool, "--version"], check=True)
        print(f"{tool}: OK")
    except Exception:
        print(f"{tool}: NOT FOUND")

👉 这是教师端验收学生环境的“裁判工具”


五、README.md 应该怎么写?(教师模板标准)

教学模板的 README,不是开发 README

必须包含:

1️⃣ 学生端操作步骤(极简)

1. 打开项目
2. 双击 run.bat / 执行 script
3. 看到“环境验证通过”

2️⃣ 禁止行为说明

  • ❌ 不要自行创建 Python

  • ❌ 不要手动 pip install

  • ❌ 不要改环境变量


3️⃣ 出错时的统一处理方式

若失败:
1. 删除 .venv
2. 重新执行 restore.bat
3. 提交 verify_env.py 输出

六、为什么说这是“教师的减负神器”?

一旦你完成一次模板工程:

  • ✅ 助教不再反复排错

  • ✅ 作业可统一验收

  • ✅ 学生可课后自复现

  • ✅ 下一届直接复用

📌 教学环境第一次变成“资产”,而不是“负担”


七、本篇在 EPGF 系列中的位置说明

第24篇 = 教师端工程化能力的完成态

它承接:

  • 第22篇:教学架构设计

  • 第23篇:学生端一键复现

并为后续铺路:

  • 多模板管理

  • 跨课程复用

  • 离线教学包

  • 自动评分环境


八、下一篇预告(第25篇)

EPGF 新手教程 25:
教学环境的“验收与评分自动化”——助教与课程规模化实践


Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐