40
Pip 与虚拟环境
pip 与 virtualenv:让依赖可控、环境可复现
你现在可能会困惑什么
“本机能跑就行,为什么要折腾虚拟环境?”
因为项目 A 依赖 v1,项目 B 依赖 v2 很常见; 不隔离环境会频繁冲突。
一句话定义
pip 管理包依赖,virtualenv/venv 管理项目隔离环境。
生活类比
不同项目像不同厨房,调料版本不能混着用。
最小可运行例子
python3 -m venv .venv
source .venv/bin/activate
pip install requests
pip freeze > requirements.txt
课堂小测(5 分钟)
- 创建并激活 venv。
- 安装 2 个包并导出依赖。
- 在新目录用
requirements.txt复现环境。
课堂小测参考答案与判分点
- 参考答案方向:能写出可运行代码,并覆盖题目中的核心条件与边界输入。
- 判分点 1(正确性):主流程结果正确,关键分支可执行。
- 判分点 2(可读性):变量命名清晰,结构不过度嵌套。
- 判分点 3(健壮性):对空值、类型错误或异常输入有基础保护。
迁移任务(课后)
把你的一个旧项目迁移到独立 venv 并补 requirements.txt。
本节验收标准
你能独立做到:
- 隔离项目依赖
- 导出与恢复依赖
- 避免全局环境污染
常见报错与调试步骤(新手版)
- 报错看不懂:先读最后一行错误类型(如
TypeError、NameError),再回到对应代码行定位。 - 不确定变量值:在关键位置临时
print(变量, type(变量)),先确认数据是否符合预期。 - 改了代码却没生效:确认文件已保存、运行的是当前文件、终端环境(venv)是否正确。
常见误区
- 误区:所有项目共用全局 Python。
- 正解:环境隔离是基础工程卫生。